@@ -933,7 +933,7 @@ const struct riscv_opcode riscv_opcodes[] =
933933{"cbo.clean" , 0 , INSN_CLASS_ZICBOM , "0(s)" , MATCH_CBO_CLEAN , MASK_CBO_CLEAN , match_opcode , 0 },
934934{"cbo.flush" , 0 , INSN_CLASS_ZICBOM , "0(s)" , MATCH_CBO_FLUSH , MASK_CBO_FLUSH , match_opcode , 0 },
935935{"cbo.inval" , 0 , INSN_CLASS_ZICBOM , "0(s)" , MATCH_CBO_INVAL , MASK_CBO_INVAL , match_opcode , 0 },
936- {"cbo.zero" , 0 , INSN_CLASS_ZICBOZ , "0(s)" , MATCH_CBO_ZERO , MASK_CBO_ZERO , match_opcode , 0 },
936+ {"cbo.zero" , 0 , INSN_CLASS_ZICBOZ , "0(s)" , MATCH_CBO_ZERO , MASK_CBO_ZERO , match_opcode , INSN_DREF },
937937
938938/* Zawrs instructions. */
939939{"wrs.nto" , 0 , INSN_CLASS_ZAWRS , "" , MATCH_WRS_NTO , MASK_WRS_NTO , match_opcode , 0 },
@@ -1922,77 +1922,77 @@ const struct riscv_opcode riscv_opcodes[] =
19221922{"th.mvnez" , 0 , INSN_CLASS_XTHEADCONDMOV , "d,s,t" , MATCH_TH_MVNEZ , MASK_TH_MVNEZ , match_opcode , 0 },
19231923
19241924/* Vendor-specific (T-Head) XTheadFMemIdx instructions. */
1925- {"th.flrd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLRD , MASK_TH_FLRD , match_opcode , 0 },
1926- {"th.flrw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLRW , MASK_TH_FLRW , match_opcode , 0 },
1927- {"th.flurd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLURD , MASK_TH_FLURD , match_opcode , 0 },
1928- {"th.flurw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLURW , MASK_TH_FLURW , match_opcode , 0 },
1929- {"th.fsrd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSRD , MASK_TH_FSRD , match_opcode , 0 },
1930- {"th.fsrw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSRW , MASK_TH_FSRW , match_opcode , 0 },
1931- {"th.fsurd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSURD , MASK_TH_FSURD , match_opcode , 0 },
1932- {"th.fsurw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSURW , MASK_TH_FSURW , match_opcode , 0 },
1925+ {"th.flrd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLRD , MASK_TH_FLRD , match_opcode , INSN_DREF | INSN_8_BYTE },
1926+ {"th.flrw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLRW , MASK_TH_FLRW , match_opcode , INSN_DREF | INSN_4_BYTE },
1927+ {"th.flurd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLURD , MASK_TH_FLURD , match_opcode , INSN_DREF | INSN_8_BYTE },
1928+ {"th.flurw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FLURW , MASK_TH_FLURW , match_opcode , INSN_DREF | INSN_4_BYTE },
1929+ {"th.fsrd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSRD , MASK_TH_FSRD , match_opcode , INSN_DREF | INSN_8_BYTE },
1930+ {"th.fsrw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSRW , MASK_TH_FSRW , match_opcode , INSN_DREF | INSN_4_BYTE },
1931+ {"th.fsurd" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSURD , MASK_TH_FSURD , match_opcode , INSN_DREF | INSN_8_BYTE },
1932+ {"th.fsurw" , 0 , INSN_CLASS_XTHEADFMEMIDX , "D,s,t,Xu2@25" , MATCH_TH_FSURW , MASK_TH_FSURW , match_opcode , INSN_DREF | INSN_4_BYTE },
19331933
19341934/* Vendor-specific (T-Head) XTheadFmv instructions. */
19351935{"th.fmv.hw.x" , 32 , INSN_CLASS_XTHEADFMV , "d,S" , MATCH_TH_FMV_HW_X , MASK_TH_FMV_HW_X , match_opcode , 0 },
19361936{"th.fmv.x.hw" , 32 , INSN_CLASS_XTHEADFMV , "d,S" , MATCH_TH_FMV_X_HW , MASK_TH_FMV_X_HW , match_opcode , 0 },
19371937
19381938/* Vendor-specific (T-Head) XTheadInt instructions. */
1939- {"th.ipop" , 0 , INSN_CLASS_XTHEADINT , "" , MATCH_TH_IPOP , MASK_TH_IPOP , match_opcode , 0 },
1940- {"th.ipush" , 0 , INSN_CLASS_XTHEADINT , "" , MATCH_TH_IPUSH , MASK_TH_IPUSH , match_opcode , 0 },
1939+ {"th.ipop" , 0 , INSN_CLASS_XTHEADINT , "" , MATCH_TH_IPOP , MASK_TH_IPOP , match_opcode , INSN_DREF },
1940+ {"th.ipush" , 0 , INSN_CLASS_XTHEADINT , "" , MATCH_TH_IPUSH , MASK_TH_IPUSH , match_opcode , INSN_DREF },
19411941
19421942/* Vendor-specific (T-Head) XTheadMemIdx instructions. */
1943- {"th.ldia" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LDIA , MASK_TH_LDIA , match_th_load_inc , 0 },
1944- {"th.ldib" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LDIB , MASK_TH_LDIB , match_th_load_inc , 0 },
1945- {"th.lwia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWIA , MASK_TH_LWIA , match_th_load_inc , 0 },
1946- {"th.lwib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWIB , MASK_TH_LWIB , match_th_load_inc , 0 },
1947- {"th.lwuia" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWUIA , MASK_TH_LWUIA , match_th_load_inc , 0 },
1948- {"th.lwuib" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LWUIB , MASK_TH_LWUIB , match_th_load_inc , 0 },
1949- {"th.lhia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHIA , MASK_TH_LHIA , match_th_load_inc , 0 },
1950- {"th.lhib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHIB , MASK_TH_LHIB , match_th_load_inc , 0 },
1951- {"th.lhuia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHUIA , MASK_TH_LHUIA , match_th_load_inc , 0 },
1952- {"th.lhuib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LHUIB , MASK_TH_LHUIB , match_th_load_inc , 0 },
1953- {"th.lbia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBIA , MASK_TH_LBIA , match_th_load_inc , 0 },
1954- {"th.lbib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBIB , MASK_TH_LBIB , match_th_load_inc , 0 },
1955- {"th.lbuia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBUIA , MASK_TH_LBUIA , match_th_load_inc , 0 },
1956- {"th.lbuib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_LBUIB , MASK_TH_LBUIB , match_th_load_inc , 0 },
1957- {"th.sdia" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SDIA , MASK_TH_SDIA , match_opcode , 0 },
1958- {"th.sdib" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SDIB , MASK_TH_SDIB , match_opcode , 0 },
1959- {"th.swia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SWIA , MASK_TH_SWIA , match_opcode , 0 },
1960- {"th.swib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SWIB , MASK_TH_SWIB , match_opcode , 0 },
1961- {"th.shia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SHIA , MASK_TH_SHIA , match_opcode , 0 },
1962- {"th.shib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SHIB , MASK_TH_SHIB , match_opcode , 0 },
1963- {"th.sbia" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SBIA , MASK_TH_SBIA , match_opcode , 0 },
1964- {"th.sbib" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,(s),Xs5@20,Xu2@25" , MATCH_TH_SBIB , MASK_TH_SBIB , match_opcode , 0 },
1965-
1966- {"th.lrd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRD , MASK_TH_LRD , match_opcode , 0 },
1967- {"th.lrw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRW , MASK_TH_LRW , match_opcode , 0 },
1968- {"th.lrwu" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRWU , MASK_TH_LRWU , match_opcode , 0 },
1969- {"th.lrh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRH , MASK_TH_LRH , match_opcode , 0 },
1970- {"th.lrhu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRHU , MASK_TH_LRHU , match_opcode , 0 },
1971- {"th.lrb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRB , MASK_TH_LRB , match_opcode , 0 },
1972- {"th.lrbu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRBU , MASK_TH_LRBU , match_opcode , 0 },
1973- {"th.srd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRD , MASK_TH_SRD , match_opcode , 0 },
1974- {"th.srw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRW , MASK_TH_SRW , match_opcode , 0 },
1975- {"th.srh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRH , MASK_TH_SRH , match_opcode , 0 },
1976- {"th.srb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRB , MASK_TH_SRB , match_opcode , 0 },
1977-
1978- {"th.lurd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURD , MASK_TH_LURD , match_opcode , 0 },
1979- {"th.lurw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURW , MASK_TH_LURW , match_opcode , 0 },
1980- {"th.lurwu" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURWU , MASK_TH_LURWU , match_opcode , 0 },
1981- {"th.lurh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURH , MASK_TH_LURH , match_opcode , 0 },
1982- {"th.lurhu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURHU , MASK_TH_LURHU , match_opcode , 0 },
1983- {"th.lurb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURB , MASK_TH_LURB , match_opcode , 0 },
1984- {"th.lurbu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURBU , MASK_TH_LURBU , match_opcode , 0 },
1985- {"th.surd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURD , MASK_TH_SURD , match_opcode , 0 },
1986- {"th.surw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURW , MASK_TH_SURW , match_opcode , 0 },
1987- {"th.surh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURH , MASK_TH_SURH , match_opcode , 0 },
1988- {"th.surb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURB , MASK_TH_SURB , match_opcode , 0 },
1943+ {"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 },
1944+ {"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 },
1945+ {"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 },
1946+ {"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 },
1947+ {"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 },
1948+ {"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 },
1949+ {"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 },
1950+ {"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 },
1951+ {"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 },
1952+ {"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 },
1953+ {"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 },
1954+ {"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 },
1955+ {"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 },
1956+ {"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 },
1957+ {"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 },
1958+ {"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 },
1959+ {"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 },
1960+ {"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 },
1961+ {"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 },
1962+ {"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 },
1963+ {"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 },
1964+ {"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 },
1965+
1966+ {"th.lrd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRD , MASK_TH_LRD , match_opcode , INSN_DREF | INSN_8_BYTE },
1967+ {"th.lrw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRW , MASK_TH_LRW , match_opcode , INSN_DREF | INSN_4_BYTE },
1968+ {"th.lrwu" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRWU , MASK_TH_LRWU , match_opcode , INSN_DREF | INSN_4_BYTE },
1969+ {"th.lrh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRH , MASK_TH_LRH , match_opcode , INSN_DREF | INSN_2_BYTE },
1970+ {"th.lrhu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRHU , MASK_TH_LRHU , match_opcode , INSN_DREF | INSN_2_BYTE },
1971+ {"th.lrb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRB , MASK_TH_LRB , match_opcode , INSN_DREF | INSN_1_BYTE },
1972+ {"th.lrbu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LRBU , MASK_TH_LRBU , match_opcode , INSN_DREF | INSN_1_BYTE },
1973+ {"th.srd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRD , MASK_TH_SRD , match_opcode , INSN_DREF | INSN_8_BYTE },
1974+ {"th.srw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRW , MASK_TH_SRW , match_opcode , INSN_DREF | INSN_4_BYTE },
1975+ {"th.srh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRH , MASK_TH_SRH , match_opcode , INSN_DREF | INSN_2_BYTE },
1976+ {"th.srb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SRB , MASK_TH_SRB , match_opcode , INSN_DREF | INSN_1_BYTE },
1977+
1978+ {"th.lurd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURD , MASK_TH_LURD , match_opcode , INSN_DREF | INSN_8_BYTE },
1979+ {"th.lurw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURW , MASK_TH_LURW , match_opcode , INSN_DREF | INSN_4_BYTE },
1980+ {"th.lurwu" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURWU , MASK_TH_LURWU , match_opcode , INSN_DREF | INSN_4_BYTE },
1981+ {"th.lurh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURH , MASK_TH_LURH , match_opcode , INSN_DREF | INSN_2_BYTE },
1982+ {"th.lurhu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURHU , MASK_TH_LURHU , match_opcode , INSN_DREF | INSN_2_BYTE },
1983+ {"th.lurb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURB , MASK_TH_LURB , match_opcode , INSN_DREF | INSN_1_BYTE },
1984+ {"th.lurbu" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_LURBU , MASK_TH_LURBU , match_opcode , INSN_DREF | INSN_1_BYTE },
1985+ {"th.surd" , 64 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURD , MASK_TH_SURD , match_opcode , INSN_DREF | INSN_8_BYTE },
1986+ {"th.surw" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURW , MASK_TH_SURW , match_opcode , INSN_DREF | INSN_4_BYTE },
1987+ {"th.surh" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURH , MASK_TH_SURH , match_opcode , INSN_DREF | INSN_2_BYTE },
1988+ {"th.surb" , 0 , INSN_CLASS_XTHEADMEMIDX , "d,s,t,Xu2@25" , MATCH_TH_SURB , MASK_TH_SURB , match_opcode , INSN_DREF | INSN_1_BYTE },
19891989
19901990/* Vendor-specific (T-Head) XTheadMemPair instructions. */
1991- {"th.ldd" , 64 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl4" , MATCH_TH_LDD , MASK_TH_LDD , match_th_load_pair , 0 },
1992- {"th.lwd" , 0 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl3" , MATCH_TH_LWD , MASK_TH_LWD , match_th_load_pair , 0 },
1993- {"th.lwud" , 0 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl3" , MATCH_TH_LWUD , MASK_TH_LWUD , match_th_load_pair , 0 },
1994- {"th.sdd" , 64 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl4" , MATCH_TH_SDD , MASK_TH_SDD , match_opcode , 0 },
1995- {"th.swd" , 0 , INSN_CLASS_XTHEADMEMPAIR , "d,t,(s),Xu2@25,Xl3" , MATCH_TH_SWD , MASK_TH_SWD , match_opcode , 0 },
1991+ {"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 },
1992+ {"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 },
1993+ {"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 },
1994+ {"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 },
1995+ {"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 },
19961996
19971997/* Vendor-specific (T-Head) XTheadMac instructions. */
19981998{"th.mula" , 0 , INSN_CLASS_XTHEADMAC , "d,s,t" , MATCH_TH_MULA , MASK_TH_MULA , match_opcode , 0 },
0 commit comments