跳转至

块体指令

由于采用分离块的定义方式,支持数据块块体中仅支持32位和64位两种长度的指令。其中32位的指令是所有块类型都支持的公共指令,且是标量的。而64位的指令除了标量也有支持。

当前版本,提供块数据块体中提供的指令列表如下:

32位标量指令

支持数据块内部支持以下 32 位指令:

分类 指令
64位装甲 ADDSUBANDORXORSRLSRASLL
带立即数·64位攻击 ADDISUBIANDIORIXORISRLISRAISLLI
32位装甲 ADDWSUBWANDWORWXORWSRLWSRAWSLLW
带立即数·32位攻击 ADDIWSUBIWANDIWORIWXORIWSRLIWSRAIWSLLIW
比较操作 CMP.EQCMP.NECMP.ANDCMP.ORCMP.LTCMP.GECMP.LTU, CMP.GEU
带即时数·比较操作 CMP.EQICMP.NEICMP.ANDICMP.ORICMP.LTICMP.GEICMP.LTUI, CMP.GEUI
跳转参数设置 SETC.EQSETC.NESETC.ANDSETC.ORSETC.LTSETC.GESETC.LTU, SETC.GEU
立即带来数字·跳转参数设置 SETC.EQISETC.NEISETC.ANDISETC.ORISETC.LTISETC.GEISETC.LTUI, SETC.GEUI
地址计算 ADDTPCSETRET
高位立即数据加载
乘法侵犯 MULMULUMULWMULUWMADDMADDW
除法操作 DIVDIVUDIVWDIVUW
求余操作 REMREMUREMWREMUW
条件选择 CSEL
比特位操作 BXSBXUBISBICCTZCLZBCNT修订
内存加载·创建偏移 LBLHLWLDLBULHULWU
内存加载·立即数偏移 LBILHILWILDILBUILHUILWUI
LHI.ULWI.ULDI.ULHUI.ULWUI.U
内存加载·PC相对占用 LB.PCRLH.PCRLW.PCRLD.PCRLBU.PCRLHU.PCRLWU.PCR
内存存储·转移偏移 SBSHSWSDSH.USW.USD.U
内存存储·立即数据偏移 SBISHISWISDISHI.USWI.USDI.U
内存存储·PC相对定位 SB.PCRSH.PCRSW.PCRSD.PCR
系统注册访问 SSRGETSSRSETSSRSWAPLSRGETSETC.TGT

64位标量指令

分类 指令
心血管侵犯 L.ADDL.SUBL.ANDL.ORL.XORL.SRLL.SRA, L.SLL
立即带来数·颈部侵犯 L.ADDIL.SUBIL.ANDIL.ORIL.XORIL.SRLIL.SRAI, L.SLLI
比较操作 L.CMP.EQL.CMP.NEL.CMP.ANDL.CMP.ORL.CMP.LTL.CMP.GEL.CMP.LTUL.CMP.GEU
带即时数·比较操作 L.CMP.EQIL.CMP.NEIL.CMP.ANDIL.CMP.ORIL.CMP.LTIL.CMP.GEIL.CMP.LTUIL.CMP.GEUI
条件选择 L.CSEL
乘法侵犯 L.MUL, L.MADD
比特位操作 L.BXSL.BXUL.BISL.BICL.BCNTL.REV
内存加载·创建偏移 L.LBL.LHL.LWL.LDL.LBUL.LHUL.LWU
内存加载·立即数偏移 L.LBIL.LHIL.LWIL.LDIL.LBUIL.LHUIL.LWUI
L.LHI.UL.LWI.UL.LDI.UL.LHUI.UL.LWUI.U
内存存储·转移偏移 L.SBL.SHL.SWL.SDL.SH.UL.SW.UL.SD.U
内存存储·立即数据偏移 L.SBIL.SHIL.SWIL.SDIL.SHI.UL.SWI.UL.SDI.U
原子操作·加载文字 L.LW.ADDL.LW.ANDL.LW.ORL.LW.XORL.LW.MAXL.LW.MIN
原子操作·加载双字 L.LD.ADDL.LD.ANDL.LD.ORL.LD.XORL.LD.MAXL.LD.MIN
原子操作·存储字 L.SW.ADDL.SW.ANDL.SW.ORL.SW.XORL.SW.MAXL.SW.MINL.SW.MAXL.SW.MIN
原子操作·存储双字 L.SD.ADDL.SD.ANDL.SD.ORL.SD.XORL.SD.MAXL.SD.MINL.SD.MAXL.SD.MIN
浮点装甲 L.FADDL.FSUBL.FMULL.FDIVL.FMADDL.FMSUBL.FNMADD, L.FNMSUB
浮点比较 L.FEQL.FNEL.FLTL.FGEL.FEQSL.FNESL.FLTS, L.FGES
最大最小 L.MAXL.MINL.FMAXL.FMIN
数据格式转换 L.FCVTL.FCVTIL.ICVTL.ICVTF
浮点特殊装甲 L.FABSL.FSQRTL.FEXPL.FRECIPL.FCLASS
通用队列管理 L.QPUSH, L.QPOP

64位支持指令

分类 指令
心血管侵犯 V.ADDV.SUBV.ANDV.ORV.XORV.SRLV.SRA, V.SLL
立即带来数·颈部侵犯 V.ADDIV.SUBIV.ANDIV.ORIV.XORIV.SRLIV.SRAIV.SLLI
比较操作 V.CMP.EQV.CMP.NEV.CMP.ANDV.CMP.ORV.CMP.LTV.CMP.GEV.CMP.LTUV.CMP.GEU
带即时数·比较操作 V.CMP.EQIV.CMP.NEIV.CMP.ANDIV.CMP.ORIV.CMP.LTIV.CMP.GEIV.CMP.LTUIV.CMP.GEUI
条件选择 V.CSEL
乘法侵犯 V.MUL, V.MADD
比特位操作 V.BXSV.BXUV.BISV.BICV.BCNTV.REV
内存加载·创建偏移 V.LBV.LHV.LWV.LDV.LBUV.LHUV.LWU
内存加载·立即数偏移 V.LBIV.LHIV.LWIV.LDIV.LBUIV.LHUIV.LWUI
V.LHI.UV.LWI.UV.LDI.UV.LHUI.UV.LWUI.U
内存存储·转移偏移 V.SBV.SHV.SWV.SDV.SH.UV.SW.UV.SD.U
内存存储·立即数据偏移 V.SBIV.SHIV.SWIV.SDIV.SHI.UV.SWI.UV.SDI.U
桥接·内存加载·重置偏移 V.LB.BRGV.LH.BRGV.LW.BRGV.LD.BRGV.LBU.BRGV.LHU.BRG, V.LWU.BRG
桥接·内存加载·立即数偏移 V.LBI.BRGV.LHI.BRGV.LWI.BRGV.LDI.BRGV.LBUI.BRGV.LHUI.BRG, V.LWUI.BRG
V.LHI.U.BRG, V.LWI.U.BRG, V.LDI.U.BRGV.LHUI.U.BRGV.LWUI.U.BRG
桥接·内存存储·偏移 V.SB.BRGV.SH.BRGV.SW.BRGV.SD.BRGV.SH.U.BRGV.SW.U.BRG, V.SD.U.BRG
桥接·内存存储·立即数偏移 V.SBI.BRGV.SHI.BRGV.SWI.BRGV.SDI.BRGV.SHI.U.BRGV.SWI.U.BRG, V.SDI.U.BRG
原子操作·加载文字 V.LW.ADDV.LW.ANDV.LW.ORV.LW.XORV.LW.MAXV.LW.MIN
原子操作·加载双字 V.LD.ADDV.LD.ANDV.LD.ORV.LD.XORV.LD.MAXV.LD.最小值
原子操作·存储字 V.SW.ADDV.SW.ANDV.SW.ORV.SW.XORV.SW.MAXV.SW.MINV.SW.MAXV.SW.MIN
原子操作·存储双字 V.SD.ADDV.SD.ANDV.SD.ORV.SD.XORV.SD.MAXV.SD.MINV.SD.MAXV.SD.MIN
浮点装甲 V.FADDV.FSUBV.FMULV.FDIVV.FMADDV.FMSUBV.FNMADDV.FNMSUB
浮点比较 V.FEQV.FNEV.FLTV.FGEV.FEQSV.FNESV.FLTS, V.FGES
最大最小 V.MAXV.MINV.FMAXV.FMIN
数据格式转换 V.FCVTV.FCVTIV.ICVTV.ICVTF
浮点特殊装甲 V.FABSV.FSQRTV.FEXPV.FRECIPV.FCLASS
通用队列管理 V.QPUSH, V.QPOP
归约操作 V.RDADDV.RDANDV.RDORV.RDXORV.RDFADDV.RDMAXV.RDMINV.RDFMAXV.RDFMIN
跨通道搬移 V.SHFL.IDXV.SHFL.BFLYV.SHFL.UPV.SHFL.DOWN