| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631 |
- namespace ARMeilleure.IntermediateRepresentation
- {
- enum Intrinsic : ushort
- {
- // X86 (SSE and AVX)
- X86Addpd,
- X86Addps,
- X86Addsd,
- X86Addss,
- X86Aesdec,
- X86Aesdeclast,
- X86Aesenc,
- X86Aesenclast,
- X86Aesimc,
- X86Andnpd,
- X86Andnps,
- X86Andpd,
- X86Andps,
- X86Blendvpd,
- X86Blendvps,
- X86Cmppd,
- X86Cmpps,
- X86Cmpsd,
- X86Cmpss,
- X86Comisdeq,
- X86Comisdge,
- X86Comisdlt,
- X86Comisseq,
- X86Comissge,
- X86Comisslt,
- X86Crc32,
- X86Crc32_16,
- X86Crc32_8,
- X86Cvtdq2pd,
- X86Cvtdq2ps,
- X86Cvtpd2dq,
- X86Cvtpd2ps,
- X86Cvtps2dq,
- X86Cvtps2pd,
- X86Cvtsd2si,
- X86Cvtsd2ss,
- X86Cvtsi2sd,
- X86Cvtsi2si,
- X86Cvtsi2ss,
- X86Cvtss2sd,
- X86Cvtss2si,
- X86Divpd,
- X86Divps,
- X86Divsd,
- X86Divss,
- X86Gf2p8affineqb,
- X86Haddpd,
- X86Haddps,
- X86Insertps,
- X86Maxpd,
- X86Maxps,
- X86Maxsd,
- X86Maxss,
- X86Minpd,
- X86Minps,
- X86Minsd,
- X86Minss,
- X86Movhlps,
- X86Movlhps,
- X86Movss,
- X86Mulpd,
- X86Mulps,
- X86Mulsd,
- X86Mulss,
- X86Mxcsrmb,
- X86Mxcsrub,
- X86Paddb,
- X86Paddd,
- X86Paddq,
- X86Paddw,
- X86Palignr,
- X86Pand,
- X86Pandn,
- X86Pavgb,
- X86Pavgw,
- X86Pblendvb,
- X86Pclmulqdq,
- X86Pcmpeqb,
- X86Pcmpeqd,
- X86Pcmpeqq,
- X86Pcmpeqw,
- X86Pcmpgtb,
- X86Pcmpgtd,
- X86Pcmpgtq,
- X86Pcmpgtw,
- X86Pmaxsb,
- X86Pmaxsd,
- X86Pmaxsw,
- X86Pmaxub,
- X86Pmaxud,
- X86Pmaxuw,
- X86Pminsb,
- X86Pminsd,
- X86Pminsw,
- X86Pminub,
- X86Pminud,
- X86Pminuw,
- X86Pmovsxbw,
- X86Pmovsxdq,
- X86Pmovsxwd,
- X86Pmovzxbw,
- X86Pmovzxdq,
- X86Pmovzxwd,
- X86Pmulld,
- X86Pmullw,
- X86Popcnt,
- X86Por,
- X86Pshufb,
- X86Pshufd,
- X86Pslld,
- X86Pslldq,
- X86Psllq,
- X86Psllw,
- X86Psrad,
- X86Psraw,
- X86Psrld,
- X86Psrlq,
- X86Psrldq,
- X86Psrlw,
- X86Psubb,
- X86Psubd,
- X86Psubq,
- X86Psubw,
- X86Punpckhbw,
- X86Punpckhdq,
- X86Punpckhqdq,
- X86Punpckhwd,
- X86Punpcklbw,
- X86Punpckldq,
- X86Punpcklqdq,
- X86Punpcklwd,
- X86Pxor,
- X86Rcpps,
- X86Rcpss,
- X86Roundpd,
- X86Roundps,
- X86Roundsd,
- X86Roundss,
- X86Rsqrtps,
- X86Rsqrtss,
- X86Sha256Msg1,
- X86Sha256Msg2,
- X86Sha256Rnds2,
- X86Shufpd,
- X86Shufps,
- X86Sqrtpd,
- X86Sqrtps,
- X86Sqrtsd,
- X86Sqrtss,
- X86Subpd,
- X86Subps,
- X86Subsd,
- X86Subss,
- X86Unpckhpd,
- X86Unpckhps,
- X86Unpcklpd,
- X86Unpcklps,
- X86Vcvtph2ps,
- X86Vcvtps2ph,
- X86Vfmadd231ps,
- X86Vfmadd231sd,
- X86Vfmadd231ss,
- X86Vfmsub231sd,
- X86Vfmsub231ss,
- X86Vfnmadd231ps,
- X86Vfnmadd231sd,
- X86Vfnmadd231ss,
- X86Vfnmsub231sd,
- X86Vfnmsub231ss,
- X86Xorpd,
- X86Xorps,
- // Arm64 (FP and Advanced SIMD)
- Arm64AbsS,
- Arm64AbsV,
- Arm64AddhnV,
- Arm64AddpS,
- Arm64AddpV,
- Arm64AddvV,
- Arm64AddS,
- Arm64AddV,
- Arm64AesdV,
- Arm64AeseV,
- Arm64AesimcV,
- Arm64AesmcV,
- Arm64AndV,
- Arm64BicVi,
- Arm64BicV,
- Arm64BifV,
- Arm64BitV,
- Arm64BslV,
- Arm64ClsV,
- Arm64ClzV,
- Arm64CmeqS,
- Arm64CmeqV,
- Arm64CmeqSz,
- Arm64CmeqVz,
- Arm64CmgeS,
- Arm64CmgeV,
- Arm64CmgeSz,
- Arm64CmgeVz,
- Arm64CmgtS,
- Arm64CmgtV,
- Arm64CmgtSz,
- Arm64CmgtVz,
- Arm64CmhiS,
- Arm64CmhiV,
- Arm64CmhsS,
- Arm64CmhsV,
- Arm64CmleSz,
- Arm64CmleVz,
- Arm64CmltSz,
- Arm64CmltVz,
- Arm64CmtstS,
- Arm64CmtstV,
- Arm64CntV,
- Arm64DupSe,
- Arm64DupVe,
- Arm64DupGp,
- Arm64EorV,
- Arm64ExtV,
- Arm64FabdS,
- Arm64FabdV,
- Arm64FabsV,
- Arm64FabsS,
- Arm64FacgeS,
- Arm64FacgeV,
- Arm64FacgtS,
- Arm64FacgtV,
- Arm64FaddpS,
- Arm64FaddpV,
- Arm64FaddV,
- Arm64FaddS,
- Arm64FccmpeS,
- Arm64FccmpS,
- Arm64FcmeqS,
- Arm64FcmeqV,
- Arm64FcmeqSz,
- Arm64FcmeqVz,
- Arm64FcmgeS,
- Arm64FcmgeV,
- Arm64FcmgeSz,
- Arm64FcmgeVz,
- Arm64FcmgtS,
- Arm64FcmgtV,
- Arm64FcmgtSz,
- Arm64FcmgtVz,
- Arm64FcmleSz,
- Arm64FcmleVz,
- Arm64FcmltSz,
- Arm64FcmltVz,
- Arm64FcmpeS,
- Arm64FcmpS,
- Arm64FcselS,
- Arm64FcvtasS,
- Arm64FcvtasV,
- Arm64FcvtasGp,
- Arm64FcvtauS,
- Arm64FcvtauV,
- Arm64FcvtauGp,
- Arm64FcvtlV,
- Arm64FcvtmsS,
- Arm64FcvtmsV,
- Arm64FcvtmsGp,
- Arm64FcvtmuS,
- Arm64FcvtmuV,
- Arm64FcvtmuGp,
- Arm64FcvtnsS,
- Arm64FcvtnsV,
- Arm64FcvtnsGp,
- Arm64FcvtnuS,
- Arm64FcvtnuV,
- Arm64FcvtnuGp,
- Arm64FcvtnV,
- Arm64FcvtpsS,
- Arm64FcvtpsV,
- Arm64FcvtpsGp,
- Arm64FcvtpuS,
- Arm64FcvtpuV,
- Arm64FcvtpuGp,
- Arm64FcvtxnS,
- Arm64FcvtxnV,
- Arm64FcvtzsSFixed,
- Arm64FcvtzsVFixed,
- Arm64FcvtzsS,
- Arm64FcvtzsV,
- Arm64FcvtzsGpFixed,
- Arm64FcvtzsGp,
- Arm64FcvtzuSFixed,
- Arm64FcvtzuVFixed,
- Arm64FcvtzuS,
- Arm64FcvtzuV,
- Arm64FcvtzuGpFixed,
- Arm64FcvtzuGp,
- Arm64FcvtS,
- Arm64FdivV,
- Arm64FdivS,
- Arm64FmaddS,
- Arm64FmaxnmpS,
- Arm64FmaxnmpV,
- Arm64FmaxnmvV,
- Arm64FmaxnmV,
- Arm64FmaxnmS,
- Arm64FmaxpS,
- Arm64FmaxpV,
- Arm64FmaxvV,
- Arm64FmaxV,
- Arm64FmaxS,
- Arm64FminnmpS,
- Arm64FminnmpV,
- Arm64FminnmvV,
- Arm64FminnmV,
- Arm64FminnmS,
- Arm64FminpS,
- Arm64FminpV,
- Arm64FminvV,
- Arm64FminV,
- Arm64FminS,
- Arm64FmlaSe,
- Arm64FmlaVe,
- Arm64FmlaV,
- Arm64FmlsSe,
- Arm64FmlsVe,
- Arm64FmlsV,
- Arm64FmovVi,
- Arm64FmovS,
- Arm64FmovGp,
- Arm64FmovSi,
- Arm64FmsubS,
- Arm64FmulxSe,
- Arm64FmulxVe,
- Arm64FmulxS,
- Arm64FmulxV,
- Arm64FmulSe,
- Arm64FmulVe,
- Arm64FmulV,
- Arm64FmulS,
- Arm64FnegV,
- Arm64FnegS,
- Arm64FnmaddS,
- Arm64FnmsubS,
- Arm64FnmulS,
- Arm64FrecpeS,
- Arm64FrecpeV,
- Arm64FrecpsS,
- Arm64FrecpsV,
- Arm64FrecpxS,
- Arm64FrintaV,
- Arm64FrintaS,
- Arm64FrintiV,
- Arm64FrintiS,
- Arm64FrintmV,
- Arm64FrintmS,
- Arm64FrintnV,
- Arm64FrintnS,
- Arm64FrintpV,
- Arm64FrintpS,
- Arm64FrintxV,
- Arm64FrintxS,
- Arm64FrintzV,
- Arm64FrintzS,
- Arm64FrsqrteS,
- Arm64FrsqrteV,
- Arm64FrsqrtsS,
- Arm64FrsqrtsV,
- Arm64FsqrtV,
- Arm64FsqrtS,
- Arm64FsubV,
- Arm64FsubS,
- Arm64InsVe,
- Arm64InsGp,
- Arm64Ld1rV,
- Arm64Ld1Vms,
- Arm64Ld1Vss,
- Arm64Ld2rV,
- Arm64Ld2Vms,
- Arm64Ld2Vss,
- Arm64Ld3rV,
- Arm64Ld3Vms,
- Arm64Ld3Vss,
- Arm64Ld4rV,
- Arm64Ld4Vms,
- Arm64Ld4Vss,
- Arm64MlaVe,
- Arm64MlaV,
- Arm64MlsVe,
- Arm64MlsV,
- Arm64MoviV,
- Arm64MrsFpsr,
- Arm64MsrFpsr,
- Arm64MulVe,
- Arm64MulV,
- Arm64MvniV,
- Arm64NegS,
- Arm64NegV,
- Arm64NotV,
- Arm64OrnV,
- Arm64OrrVi,
- Arm64OrrV,
- Arm64PmullV,
- Arm64PmulV,
- Arm64RaddhnV,
- Arm64RbitV,
- Arm64Rev16V,
- Arm64Rev32V,
- Arm64Rev64V,
- Arm64RshrnV,
- Arm64RsubhnV,
- Arm64SabalV,
- Arm64SabaV,
- Arm64SabdlV,
- Arm64SabdV,
- Arm64SadalpV,
- Arm64SaddlpV,
- Arm64SaddlvV,
- Arm64SaddlV,
- Arm64SaddwV,
- Arm64ScvtfSFixed,
- Arm64ScvtfVFixed,
- Arm64ScvtfS,
- Arm64ScvtfV,
- Arm64ScvtfGpFixed,
- Arm64ScvtfGp,
- Arm64Sha1cV,
- Arm64Sha1hV,
- Arm64Sha1mV,
- Arm64Sha1pV,
- Arm64Sha1su0V,
- Arm64Sha1su1V,
- Arm64Sha256h2V,
- Arm64Sha256hV,
- Arm64Sha256su0V,
- Arm64Sha256su1V,
- Arm64ShaddV,
- Arm64ShllV,
- Arm64ShlS,
- Arm64ShlV,
- Arm64ShrnV,
- Arm64ShsubV,
- Arm64SliS,
- Arm64SliV,
- Arm64SmaxpV,
- Arm64SmaxvV,
- Arm64SmaxV,
- Arm64SminpV,
- Arm64SminvV,
- Arm64SminV,
- Arm64SmlalVe,
- Arm64SmlalV,
- Arm64SmlslVe,
- Arm64SmlslV,
- Arm64SmovV,
- Arm64SmullVe,
- Arm64SmullV,
- Arm64SqabsS,
- Arm64SqabsV,
- Arm64SqaddS,
- Arm64SqaddV,
- Arm64SqdmlalSe,
- Arm64SqdmlalVe,
- Arm64SqdmlalS,
- Arm64SqdmlalV,
- Arm64SqdmlslSe,
- Arm64SqdmlslVe,
- Arm64SqdmlslS,
- Arm64SqdmlslV,
- Arm64SqdmulhSe,
- Arm64SqdmulhVe,
- Arm64SqdmulhS,
- Arm64SqdmulhV,
- Arm64SqdmullSe,
- Arm64SqdmullVe,
- Arm64SqdmullS,
- Arm64SqdmullV,
- Arm64SqnegS,
- Arm64SqnegV,
- Arm64SqrdmulhSe,
- Arm64SqrdmulhVe,
- Arm64SqrdmulhS,
- Arm64SqrdmulhV,
- Arm64SqrshlS,
- Arm64SqrshlV,
- Arm64SqrshrnS,
- Arm64SqrshrnV,
- Arm64SqrshrunS,
- Arm64SqrshrunV,
- Arm64SqshluS,
- Arm64SqshluV,
- Arm64SqshlSi,
- Arm64SqshlVi,
- Arm64SqshlS,
- Arm64SqshlV,
- Arm64SqshrnS,
- Arm64SqshrnV,
- Arm64SqshrunS,
- Arm64SqshrunV,
- Arm64SqsubS,
- Arm64SqsubV,
- Arm64SqxtnS,
- Arm64SqxtnV,
- Arm64SqxtunS,
- Arm64SqxtunV,
- Arm64SrhaddV,
- Arm64SriS,
- Arm64SriV,
- Arm64SrshlS,
- Arm64SrshlV,
- Arm64SrshrS,
- Arm64SrshrV,
- Arm64SrsraS,
- Arm64SrsraV,
- Arm64SshllV,
- Arm64SshlS,
- Arm64SshlV,
- Arm64SshrS,
- Arm64SshrV,
- Arm64SsraS,
- Arm64SsraV,
- Arm64SsublV,
- Arm64SsubwV,
- Arm64St1Vms,
- Arm64St1Vss,
- Arm64St2Vms,
- Arm64St2Vss,
- Arm64St3Vms,
- Arm64St3Vss,
- Arm64St4Vms,
- Arm64St4Vss,
- Arm64SubhnV,
- Arm64SubS,
- Arm64SubV,
- Arm64SuqaddS,
- Arm64SuqaddV,
- Arm64TblV,
- Arm64TbxV,
- Arm64Trn1V,
- Arm64Trn2V,
- Arm64UabalV,
- Arm64UabaV,
- Arm64UabdlV,
- Arm64UabdV,
- Arm64UadalpV,
- Arm64UaddlpV,
- Arm64UaddlvV,
- Arm64UaddlV,
- Arm64UaddwV,
- Arm64UcvtfSFixed,
- Arm64UcvtfVFixed,
- Arm64UcvtfS,
- Arm64UcvtfV,
- Arm64UcvtfGpFixed,
- Arm64UcvtfGp,
- Arm64UhaddV,
- Arm64UhsubV,
- Arm64UmaxpV,
- Arm64UmaxvV,
- Arm64UmaxV,
- Arm64UminpV,
- Arm64UminvV,
- Arm64UminV,
- Arm64UmlalVe,
- Arm64UmlalV,
- Arm64UmlslVe,
- Arm64UmlslV,
- Arm64UmovV,
- Arm64UmullVe,
- Arm64UmullV,
- Arm64UqaddS,
- Arm64UqaddV,
- Arm64UqrshlS,
- Arm64UqrshlV,
- Arm64UqrshrnS,
- Arm64UqrshrnV,
- Arm64UqshlSi,
- Arm64UqshlVi,
- Arm64UqshlS,
- Arm64UqshlV,
- Arm64UqshrnS,
- Arm64UqshrnV,
- Arm64UqsubS,
- Arm64UqsubV,
- Arm64UqxtnS,
- Arm64UqxtnV,
- Arm64UrecpeV,
- Arm64UrhaddV,
- Arm64UrshlS,
- Arm64UrshlV,
- Arm64UrshrS,
- Arm64UrshrV,
- Arm64UrsqrteV,
- Arm64UrsraS,
- Arm64UrsraV,
- Arm64UshllV,
- Arm64UshlS,
- Arm64UshlV,
- Arm64UshrS,
- Arm64UshrV,
- Arm64UsqaddS,
- Arm64UsqaddV,
- Arm64UsraS,
- Arm64UsraV,
- Arm64UsublV,
- Arm64UsubwV,
- Arm64Uzp1V,
- Arm64Uzp2V,
- Arm64XtnV,
- Arm64Zip1V,
- Arm64Zip2V,
- Arm64VTypeShift = 13,
- Arm64VTypeMask = 1 << Arm64VTypeShift,
- Arm64V64 = 0 << Arm64VTypeShift,
- Arm64V128 = 1 << Arm64VTypeShift,
- Arm64VSizeShift = 14,
- Arm64VSizeMask = 3 << Arm64VSizeShift,
- Arm64VFloat = 0 << Arm64VSizeShift,
- Arm64VDouble = 1 << Arm64VSizeShift,
- Arm64VByte = 0 << Arm64VSizeShift,
- Arm64VHWord = 1 << Arm64VSizeShift,
- Arm64VWord = 2 << Arm64VSizeShift,
- Arm64VDWord = 3 << Arm64VSizeShift
- }
- }
|