@@ -964,7 +964,7 @@ const struct riscv_opcode riscv_opcodes[] =
964964{"cbo.clean" , 0 , INSN_CLASS_ZICBOM , "0(s)" , MATCH_CBO_CLEAN , MASK_CBO_CLEAN , match_opcode , 0 },
965965{"cbo.flush" , 0 , INSN_CLASS_ZICBOM , "0(s)" , MATCH_CBO_FLUSH , MASK_CBO_FLUSH , match_opcode , 0 },
966966{"cbo.inval" , 0 , INSN_CLASS_ZICBOM , "0(s)" , MATCH_CBO_INVAL , MASK_CBO_INVAL , match_opcode , 0 },
967- {"cbo.zero" , 0 , INSN_CLASS_ZICBOZ , "0(s)" , MATCH_CBO_ZERO , MASK_CBO_ZERO , match_opcode , 0 },
967+ {"cbo.zero" , 0 , INSN_CLASS_ZICBOZ , "0(s)" , MATCH_CBO_ZERO , MASK_CBO_ZERO , match_opcode , INSN_DREF },
968968
969969/* Zicond instructions. */
970970{"czero.eqz" , 0 , INSN_CLASS_ZICOND , "d,s,t" , MATCH_CZERO_EQZ , MASK_CZERO_EQZ , match_opcode , 0 },
@@ -2074,77 +2074,77 @@ const struct riscv_opcode riscv_opcodes[] =
20742074{"th.mvnez" , 0 , INSN_CLASS_XTHEADCONDMOV , "d,s,t" , MATCH_TH_MVNEZ , MASK_TH_MVNEZ , match_opcode , 0 },
20752075
20762076/* Vendor-specific (T-Head) XTheadFMemIdx instructions. */
2077- {"th.flrd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLRD , MASK_TH_FLRD , match_opcode , 0 },
2078- {"th.flrw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLRW , MASK_TH_FLRW , match_opcode , 0 },
2079- {"th.flurd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLURD , MASK_TH_FLURD , match_opcode , 0 },
2080- {"th.flurw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLURW , MASK_TH_FLURW , match_opcode , 0 },
2081- {"th.fsrd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSRD , MASK_TH_FSRD , match_opcode , 0 },
2082- {"th.fsrw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSRW , MASK_TH_FSRW , match_opcode , 0 },
2083- {"th.fsurd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSURD , MASK_TH_FSURD , match_opcode , 0 },
2084- {"th.fsurw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSURW , MASK_TH_FSURW , match_opcode , 0 },
2077+ {"th.flrd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLRD , MASK_TH_FLRD , match_opcode , INSN_DREF | INSN_8_BYTE },
2078+ {"th.flrw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLRW , MASK_TH_FLRW , match_opcode , INSN_DREF | INSN_4_BYTE },
2079+ {"th.flurd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLURD , MASK_TH_FLURD , match_opcode , INSN_DREF | INSN_8_BYTE },
2080+ {"th.flurw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLURW , MASK_TH_FLURW , match_opcode , INSN_DREF | INSN_4_BYTE },
2081+ {"th.fsrd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSRD , MASK_TH_FSRD , match_opcode , INSN_DREF | INSN_8_BYTE },
2082+ {"th.fsrw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSRW , MASK_TH_FSRW , match_opcode , INSN_DREF | INSN_4_BYTE },
2083+ {"th.fsurd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSURD , MASK_TH_FSURD , match_opcode , INSN_DREF | INSN_8_BYTE },
2084+ {"th.fsurw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSURW , MASK_TH_FSURW , match_opcode , INSN_DREF | INSN_4_BYTE },
20852085
20862086/* Vendor-specific (T-Head) XTheadFmv instructions. */
20872087{"th.fmv.hw.x" , 32 , INSN_CLASS_XTHEADFMV , "d,S" , MATCH_TH_FMV_HW_X , MASK_TH_FMV_HW_X , match_opcode , 0 },
20882088{"th.fmv.x.hw" , 32 , INSN_CLASS_XTHEADFMV , "d,S" , MATCH_TH_FMV_X_HW , MASK_TH_FMV_X_HW , match_opcode , 0 },
20892089
20902090/* Vendor-specific (T-Head) XTheadInt instructions. */
2091- {"th.ipop" , 0 , INSN_CLASS_XTHEADINT , "" , MATCH_TH_IPOP , MASK_TH_IPOP , match_opcode , 0 },
2092- {"th.ipush" , 0 , INSN_CLASS_XTHEADINT , "" , MATCH_TH_IPUSH , MASK_TH_IPUSH , match_opcode , 0 },
2091+ {"th.ipop" , 0 , INSN_CLASS_XTHEADINT , "" , MATCH_TH_IPOP , MASK_TH_IPOP , match_opcode , INSN_DREF },
2092+ {"th.ipush" , 0 , INSN_CLASS_XTHEADINT , "" , MATCH_TH_IPUSH , MASK_TH_IPUSH , match_opcode , INSN_DREF },
20932093
20942094/* Vendor-specific (T-Head) XTheadMemIdx instructions. */
2095- {"th.ldia" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LDIA , MASK_TH_LDIA , match_th_load_inc , 0 },
2096- {"th.ldib" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LDIB , MASK_TH_LDIB , match_th_load_inc , 0 },
2097- {"th.lwia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWIA , MASK_TH_LWIA , match_th_load_inc , 0 },
2098- {"th.lwib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWIB , MASK_TH_LWIB , match_th_load_inc , 0 },
2099- {"th.lwuia" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWUIA , MASK_TH_LWUIA , match_th_load_inc , 0 },
2100- {"th.lwuib" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWUIB , MASK_TH_LWUIB , match_th_load_inc , 0 },
2101- {"th.lhia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHIA , MASK_TH_LHIA , match_th_load_inc , 0 },
2102- {"th.lhib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHIB , MASK_TH_LHIB , match_th_load_inc , 0 },
2103- {"th.lhuia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHUIA , MASK_TH_LHUIA , match_th_load_inc , 0 },
2104- {"th.lhuib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHUIB , MASK_TH_LHUIB , match_th_load_inc , 0 },
2105- {"th.lbia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBIA , MASK_TH_LBIA , match_th_load_inc , 0 },
2106- {"th.lbib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBIB , MASK_TH_LBIB , match_th_load_inc , 0 },
2107- {"th.lbuia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBUIA , MASK_TH_LBUIA , match_th_load_inc , 0 },
2108- {"th.lbuib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBUIB , MASK_TH_LBUIB , match_th_load_inc , 0 },
2109- {"th.sdia" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SDIA , MASK_TH_SDIA , match_opcode , 0 },
2110- {"th.sdib" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SDIB , MASK_TH_SDIB , match_opcode , 0 },
2111- {"th.swia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SWIA , MASK_TH_SWIA , match_opcode , 0 },
2112- {"th.swib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SWIB , MASK_TH_SWIB , match_opcode , 0 },
2113- {"th.shia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SHIA , MASK_TH_SHIA , match_opcode , 0 },
2114- {"th.shib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SHIB , MASK_TH_SHIB , match_opcode , 0 },
2115- {"th.sbia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SBIA , MASK_TH_SBIA , match_opcode , 0 },
2116- {"th.sbib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SBIB , MASK_TH_SBIB , match_opcode , 0 },
2117-
2118- {"th.lrd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRD , MASK_TH_LRD , match_opcode , 0 },
2119- {"th.lrw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRW , MASK_TH_LRW , match_opcode , 0 },
2120- {"th.lrwu" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRWU , MASK_TH_LRWU , match_opcode , 0 },
2121- {"th.lrh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRH , MASK_TH_LRH , match_opcode , 0 },
2122- {"th.lrhu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRHU , MASK_TH_LRHU , match_opcode , 0 },
2123- {"th.lrb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRB , MASK_TH_LRB , match_opcode , 0 },
2124- {"th.lrbu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRBU , MASK_TH_LRBU , match_opcode , 0 },
2125- {"th.srd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRD , MASK_TH_SRD , match_opcode , 0 },
2126- {"th.srw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRW , MASK_TH_SRW , match_opcode , 0 },
2127- {"th.srh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRH , MASK_TH_SRH , match_opcode , 0 },
2128- {"th.srb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRB , MASK_TH_SRB , match_opcode , 0 },
2129-
2130- {"th.lurd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURD , MASK_TH_LURD , match_opcode , 0 },
2131- {"th.lurw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURW , MASK_TH_LURW , match_opcode , 0 },
2132- {"th.lurwu" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURWU , MASK_TH_LURWU , match_opcode , 0 },
2133- {"th.lurh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURH , MASK_TH_LURH , match_opcode , 0 },
2134- {"th.lurhu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURHU , MASK_TH_LURHU , match_opcode , 0 },
2135- {"th.lurb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURB , MASK_TH_LURB , match_opcode , 0 },
2136- {"th.lurbu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURBU , MASK_TH_LURBU , match_opcode , 0 },
2137- {"th.surd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURD , MASK_TH_SURD , match_opcode , 0 },
2138- {"th.surw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURW , MASK_TH_SURW , match_opcode , 0 },
2139- {"th.surh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURH , MASK_TH_SURH , match_opcode , 0 },
2140- {"th.surb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURB , MASK_TH_SURB , match_opcode , 0 },
2095+ {"th.ldia" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LDIA , MASK_TH_LDIA , match_th_load_inc , INSN_DREF | INSN_8_BYTE },
2096+ {"th.ldib" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LDIB , MASK_TH_LDIB , match_th_load_inc , INSN_DREF | INSN_8_BYTE },
2097+ {"th.lwia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWIA , MASK_TH_LWIA , match_th_load_inc , INSN_DREF | INSN_4_BYTE },
2098+ {"th.lwib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWIB , MASK_TH_LWIB , match_th_load_inc , INSN_DREF | INSN_4_BYTE },
2099+ {"th.lwuia" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWUIA , MASK_TH_LWUIA , match_th_load_inc , INSN_DREF | INSN_4_BYTE },
2100+ {"th.lwuib" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWUIB , MASK_TH_LWUIB , match_th_load_inc , INSN_DREF | INSN_4_BYTE },
2101+ {"th.lhia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHIA , MASK_TH_LHIA , match_th_load_inc , INSN_DREF | INSN_2_BYTE },
2102+ {"th.lhib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHIB , MASK_TH_LHIB , match_th_load_inc , INSN_DREF | INSN_2_BYTE },
2103+ {"th.lhuia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHUIA , MASK_TH_LHUIA , match_th_load_inc , INSN_DREF | INSN_2_BYTE },
2104+ {"th.lhuib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHUIB , MASK_TH_LHUIB , match_th_load_inc , INSN_DREF | INSN_2_BYTE },
2105+ {"th.lbia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBIA , MASK_TH_LBIA , match_th_load_inc , INSN_DREF | INSN_1_BYTE },
2106+ {"th.lbib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBIB , MASK_TH_LBIB , match_th_load_inc , INSN_DREF | INSN_1_BYTE },
2107+ {"th.lbuia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBUIA , MASK_TH_LBUIA , match_th_load_inc , INSN_DREF | INSN_1_BYTE },
2108+ {"th.lbuib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBUIB , MASK_TH_LBUIB , match_th_load_inc , INSN_DREF | INSN_1_BYTE },
2109+ {"th.sdia" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SDIA , MASK_TH_SDIA , match_opcode , INSN_DREF | INSN_8_BYTE },
2110+ {"th.sdib" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SDIB , MASK_TH_SDIB , match_opcode , INSN_DREF | INSN_8_BYTE },
2111+ {"th.swia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SWIA , MASK_TH_SWIA , match_opcode , INSN_DREF | INSN_4_BYTE },
2112+ {"th.swib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SWIB , MASK_TH_SWIB , match_opcode , INSN_DREF | INSN_4_BYTE },
2113+ {"th.shia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SHIA , MASK_TH_SHIA , match_opcode , INSN_DREF | INSN_2_BYTE },
2114+ {"th.shib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SHIB , MASK_TH_SHIB , match_opcode , INSN_DREF | INSN_2_BYTE },
2115+ {"th.sbia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SBIA , MASK_TH_SBIA , match_opcode , INSN_DREF | INSN_1_BYTE },
2116+ {"th.sbib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SBIB , MASK_TH_SBIB , match_opcode , INSN_DREF | INSN_1_BYTE },
2117+
2118+ {"th.lrd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRD , MASK_TH_LRD , match_opcode , INSN_DREF | INSN_8_BYTE },
2119+ {"th.lrw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRW , MASK_TH_LRW , match_opcode , INSN_DREF | INSN_4_BYTE },
2120+ {"th.lrwu" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRWU , MASK_TH_LRWU , match_opcode , INSN_DREF | INSN_4_BYTE },
2121+ {"th.lrh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRH , MASK_TH_LRH , match_opcode , INSN_DREF | INSN_2_BYTE },
2122+ {"th.lrhu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRHU , MASK_TH_LRHU , match_opcode , INSN_DREF | INSN_2_BYTE },
2123+ {"th.lrb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRB , MASK_TH_LRB , match_opcode , INSN_DREF | INSN_1_BYTE },
2124+ {"th.lrbu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRBU , MASK_TH_LRBU , match_opcode , INSN_DREF | INSN_1_BYTE },
2125+ {"th.srd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRD , MASK_TH_SRD , match_opcode , INSN_DREF | INSN_8_BYTE },
2126+ {"th.srw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRW , MASK_TH_SRW , match_opcode , INSN_DREF | INSN_4_BYTE },
2127+ {"th.srh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRH , MASK_TH_SRH , match_opcode , INSN_DREF | INSN_2_BYTE },
2128+ {"th.srb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRB , MASK_TH_SRB , match_opcode , INSN_DREF | INSN_1_BYTE },
2129+
2130+ {"th.lurd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURD , MASK_TH_LURD , match_opcode , INSN_DREF | INSN_8_BYTE },
2131+ {"th.lurw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURW , MASK_TH_LURW , match_opcode , INSN_DREF | INSN_4_BYTE },
2132+ {"th.lurwu" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURWU , MASK_TH_LURWU , match_opcode , INSN_DREF | INSN_4_BYTE },
2133+ {"th.lurh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURH , MASK_TH_LURH , match_opcode , INSN_DREF | INSN_2_BYTE },
2134+ {"th.lurhu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURHU , MASK_TH_LURHU , match_opcode , INSN_DREF | INSN_2_BYTE },
2135+ {"th.lurb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURB , MASK_TH_LURB , match_opcode , INSN_DREF | INSN_1_BYTE },
2136+ {"th.lurbu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURBU , MASK_TH_LURBU , match_opcode , INSN_DREF | INSN_1_BYTE },
2137+ {"th.surd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURD , MASK_TH_SURD , match_opcode , INSN_DREF | INSN_8_BYTE },
2138+ {"th.surw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURW , MASK_TH_SURW , match_opcode , INSN_DREF | INSN_4_BYTE },
2139+ {"th.surh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURH , MASK_TH_SURH , match_opcode , INSN_DREF | INSN_2_BYTE },
2140+ {"th.surb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURB , MASK_TH_SURB , match_opcode , INSN_DREF | INSN_1_BYTE },
21412141
21422142/* Vendor-specific (T-Head) XTheadMemPair instructions. */
2143- {"th.ldd" , 64 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl4" , MATCH_TH_LDD , MASK_TH_LDD , match_th_load_pair , 0 },
2144- {"th.lwd" , 0 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl3" , MATCH_TH_LWD , MASK_TH_LWD , match_th_load_pair , 0 },
2145- {"th.lwud" , 0 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl3" , MATCH_TH_LWUD , MASK_TH_LWUD , match_th_load_pair , 0 },
2146- {"th.sdd" , 64 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl4" , MATCH_TH_SDD , MASK_TH_SDD , match_opcode , 0 },
2147- {"th.swd" , 0 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl3" , MATCH_TH_SWD , MASK_TH_SWD , match_opcode , 0 },
2143+ {"th.ldd" , 64 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl4" , MATCH_TH_LDD , MASK_TH_LDD , match_th_load_pair , INSN_DREF | INSN_16_BYTE },
2144+ {"th.lwd" , 0 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl3" , MATCH_TH_LWD , MASK_TH_LWD , match_th_load_pair , INSN_DREF | INSN_8_BYTE },
2145+ {"th.lwud" , 0 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl3" , MATCH_TH_LWUD , MASK_TH_LWUD , match_th_load_pair , INSN_DREF | INSN_8_BYTE },
2146+ {"th.sdd" , 64 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl4" , MATCH_TH_SDD , MASK_TH_SDD , match_opcode , INSN_DREF | INSN_16_BYTE },
2147+ {"th.swd" , 0 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl3" , MATCH_TH_SWD , MASK_TH_SWD , match_opcode , INSN_DREF | INSN_8_BYTE },
21482148
21492149/* Vendor-specific (T-Head) XTheadMac instructions. */
21502150{"th.mula" , 0 , INSN_CLASS_XTHEADMAC , "d,s,t" , MATCH_TH_MULA , MASK_TH_MULA , match_opcode , 0 },
0 commit comments