Lines Matching +full:8 +full:m
59 // Specify AVX512 8-bit compressed displacement encoding based on the vector
60 // element size in bits (8, 16, 32, 64) and the CDisp8 form.
180 /// Imm8Operator - This is the operator that should be used to match an 8-bit
239 // v # NumElts # EltVT, so for vector of 8 elements of i32 it will be v8i32
243 !if (!eq (EltVT.Size, 16), 8,
286 // 8-bit compressed displacement tuple/subvector format. This is only
287 // defined for NumElts <= 8.
314 def v8i64_info : X86VectorVTInfo<8, i64, VR512, "q">;
318 def v8f64_info : X86VectorVTInfo<8, f64, VR512, "pd">;
323 def v8i32x_info : X86VectorVTInfo<8, i32, VR256X, "d">;
327 def v8f32x_info : X86VectorVTInfo<8, f32, VR256X, "ps">;
331 def v8i16x_info : X86VectorVTInfo<8, i16, VR128X, "w">;
334 def v8f16x_info : X86VectorVTInfo<8, f16, VR128X, "ph">;
335 def v8bf16x_info : X86VectorVTInfo<8, bf16, VR128X, "pbf">;
393 class I<bits<8> o, Format f, dag outs, dag ins, string asm,
398 class Ii8<bits<8> o, Format f, dag outs, dag ins, string asm,
403 class Ii8Reg<bits<8> o, Format f, dag outs, dag ins, string asm,
408 class Ii8PCRel<bits<8> o, Format f, dag outs, dag ins, string asm,
413 class Ii16<bits<8> o, Format f, dag outs, dag ins, string asm,
418 class Ii32<bits<8> o, Format f, dag outs, dag ins, string asm,
423 class Ii32S<bits<8> o, Format f, dag outs, dag ins, string asm,
429 class Ii64<bits<8> o, Format f, dag outs, dag ins, string asm,
435 class Ii16PCRel<bits<8> o, Format f, dag outs, dag ins, string asm,
441 class Ii32PCRel<bits<8> o, Format f, dag outs, dag ins, string asm,
449 class FPI<bits<8> o, Format F, dag outs, dag ins, string asm>
469 class Iseg16 <bits<8> o, Format f, dag outs, dag ins, string asm,
475 class Iseg32 <bits<8> o, Format f, dag outs, dag ins, string asm,
482 class SI<bits<8> o, Format F, dag outs, dag ins, string asm,
499 class SI_Int<bits<8> o, Format F, dag outs, dag ins, string asm,
515 class SIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
530 class PI<bits<8> o, Format F, dag outs, dag ins, string asm, list<dag> pattern,
545 class MMXPI<bits<8> o, Format F, dag outs, dag ins, string asm, list<dag> pattern,
553 class PIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
575 class SSI<bits<8> o, Format F, dag outs, dag ins, string asm,
578 class SSIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
581 class PSI<bits<8> o, Format F, dag outs, dag ins, string asm,
585 class PSIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
589 class VSSI<bits<8> o, Format F, dag outs, dag ins, string asm,
593 class VPSI<bits<8> o, Format F, dag outs, dag ins, string asm,
616 class SDI<bits<8> o, Format F, dag outs, dag ins, string asm,
619 class SDIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
622 class S2SI<bits<8> o, Format F, dag outs, dag ins, string asm,
625 class S2SIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
628 class PDI<bits<8> o, Format F, dag outs, dag ins, string asm,
632 class PDIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
636 class VSDI<bits<8> o, Format F, dag outs, dag ins, string asm,
640 class VS2SI<bits<8> o, Format F, dag outs, dag ins, string asm,
644 class VPDI<bits<8> o, Format F, dag outs, dag ins, string asm,
648 class VS2I<bits<8> o, Format F, dag outs, dag ins, string asm,
652 class S2I<bits<8> o, Format F, dag outs, dag ins, string asm,
655 class MMXSDIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
658 class MMXS2SIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
668 class S3SI<bits<8> o, Format F, dag outs, dag ins, string asm,
672 class S3DI<bits<8> o, Format F, dag outs, dag ins, string asm,
676 class S3I<bits<8> o, Format F, dag outs, dag ins, string asm,
693 class SS38I<bits<8> o, Format F, dag outs, dag ins, string asm,
697 class SS3AI<bits<8> o, Format F, dag outs, dag ins, string asm,
701 class MMXSS38I<bits<8> o, Format F, dag outs, dag ins, string asm,
705 class MMXSS3AI<bits<8> o, Format F, dag outs, dag ins, string asm,
715 class SS48I<bits<8> o, Format F, dag outs, dag ins, string asm,
719 class SS4AIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
727 class SS428I<bits<8> o, Format F, dag outs, dag ins, string asm,
733 class SS42AI<bits<8> o, Format F, dag outs, dag ins, string asm,
743 class AVX8I<bits<8> o, Format F, dag outs, dag ins, string asm,
747 class AVXAIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
757 class AVX28I<bits<8> o, Format F, dag outs, dag ins, string asm,
761 class AVX2AIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
779 class AVX5128I<bits<8> o, Format F, dag outs, dag ins, string asm,
786 class AVX512XS8I<bits<8> o, Format F, dag outs, dag ins, string asm,
790 class AVX512XSI<bits<8> o, Format F, dag outs, dag ins, string asm,
794 class AVX512XDI<bits<8> o, Format F, dag outs, dag ins, string asm,
798 class AVX512BI<bits<8> o, Format F, dag outs, dag ins, string asm,
805 class AVX512BIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
809 class AVX512AIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
816 class AVX512Ii8<bits<8> o, Format F, dag outs, dag ins, string asm,
820 class AVX512PDI<bits<8> o, Format F, dag outs, dag ins, string asm,
824 class AVX512PSI<bits<8> o, Format F, dag outs, dag ins, string asm,
828 class AVX512PIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
831 class AVX512PI<bits<8> o, Format F, dag outs, dag ins, string asm,
834 class AVX512FMA3S<bits<8> o, Format F, dag outs, dag ins, string asm,
839 class AVX512<bits<8> o, Format F, dag outs, dag ins, string asm,
847 class AES8I<bits<8> o, Format F, dag outs, dag ins, string asm,
852 class AESAI<bits<8> o, Format F, dag outs, dag ins, string asm,
858 class PCLMULIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
863 class FMA3<bits<8> o, Format F, dag outs, dag ins, string asm,
867 class FMA3S<bits<8> o, Format F, dag outs, dag ins, string asm,
871 class FMA3S_Int<bits<8> o, Format F, dag outs, dag ins, string asm,
877 class FMA4<bits<8> o, Format F, dag outs, dag ins, string asm,
881 class FMA4S<bits<8> o, Format F, dag outs, dag ins, string asm,
885 class FMA4S_Int<bits<8> o, Format F, dag outs, dag ins, string asm,
891 class IXOP<bits<8> o, Format F, dag outs, dag ins, string asm,
897 class IXOPi8<bits<8> o, Format F, dag outs, dag ins, string asm,
902 class IXOPi8Reg<bits<8> o, Format F, dag outs, dag ins, string asm,
908 class IXOP5<bits<8> o, Format F, dag outs, dag ins, string asm,
916 class RI<bits<8> o, Format F, dag outs, dag ins, string asm,
919 class RIi8 <bits<8> o, Format F, dag outs, dag ins, string asm,
922 class RIi16 <bits<8> o, Format F, dag outs, dag ins, string asm,
925 class RIi32 <bits<8> o, Format F, dag outs, dag ins, string asm,
928 class RIi32S <bits<8> o, Format F, dag outs, dag ins, string asm,
931 class RIi64<bits<8> o, Format F, dag outs, dag ins, string asm,
935 class RS2I<bits<8> o, Format F, dag outs, dag ins, string asm,
938 class VRS2I<bits<8> o, Format F, dag outs, dag ins, string asm,
947 class MMXI<bits<8> o, Format F, dag outs, dag ins, string asm,
950 class MMXRI<bits<8> o, Format F, dag outs, dag ins, string asm,
954 class MMXIi8<bits<8> o, Format F, dag outs, dag ins, string asm,
965 class ITy<bits<8> o, Format f, X86TypeInfo t, dag outs, dag ins, string m,
969 !strconcat(m, "{", t.InstrSuffix, "}\t", args), p>, NoCD8 {
976 class BinOpRR<bits<8> o, string m, string args, X86TypeInfo t, dag out, list<dag> p>
977 : ITy<o, MRMDestReg, t, out, (ins t.RegClass:$src1, t.RegClass:$src2), m,
980 class BinOpRR_F<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node>
981 : BinOpRR<o, m, binop_args, t, (outs),
985 class BinOpRR_F_Rev<bits<8> o, string m, X86TypeInfo t>
986 : BinOpRR_F<o, m, t, null_frag>, DisassembleOnly {
990 class BinOpRR_R<bits<8> o, string m, X86TypeInfo t, bit ndd = 0>
991 : BinOpRR<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t,
994 class BinOpRR_R_Rev<bits<8> o, string m, X86TypeInfo t, bit ndd = 0>
995 : BinOpRR_R<o, m, t, ndd>, DisassembleOnly {
999 class BinOpRR_RF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node, bit ndd = 0>
1000 : BinOpRR<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t,
1005 class BinOpRR_RF_Rev<bits<8> o, string m, X86TypeInfo t, bit ndd = 0>
1006 : BinOpRR_RF<o, m, t, null_frag, ndd>, DisassembleOnly {
1011 class BinOpRRF_RF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node = null_frag, bit ndd =…
1012 : BinOpRR<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t, (outs t.RegClass:$dst),
1019 class BinOpRRF_RF_Rev<bits<8> o, string m, X86TypeInfo t, bit ndd = 0>
1020 : BinOpRRF_RF<o, m, t, null_frag, ndd>, DisassembleOnly {
1025 class BinOpRM<bits<8> o, string m, string args, X86TypeInfo t, dag out, list<dag> p>
1026 : ITy<o, MRMSrcMem, t, out, (ins t.RegClass:$src1, t.MemOperand:$src2), m,
1032 class BinOpRM_F<bits<8> o, string m, X86TypeInfo t, SDNode node>
1033 : BinOpRM<o, m, binop_args, t, (outs),
1037 class BinOpRM_R<bits<8> o, string m, X86TypeInfo t, bit ndd = 0>
1038 : BinOpRM<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t, (outs t.RegClass:$dst),
1041 class BinOpRM_RF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node, bit ndd = 0>
1042 : BinOpRM<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t, (outs t.RegClass:$dst),
1047 class BinOpRMF_RF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node = null_frag, bit ndd =…
1048 : BinOpRM<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t, (outs t.RegClass:$dst),
1060 class BinOpRI<bits<8> o, string m, string args, X86TypeInfo t, Format f, dag out, list<dag> p>
1061 : ITy<o, f, t, out, (ins t.RegClass:$src1, t.ImmOperand:$src2), m,
1066 class BinOpRI_F<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node,
1068 : BinOpRI<o, m, binop_args, t, f, (outs),
1072 class BinOpRI_R<bits<8> o, string m, X86TypeInfo t, Format f, bit ndd = 0>
1073 : BinOpRI<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t, f, (outs t.RegClass:$dst),
1076 class BinOpRI8U_R<string m, Format f, X86TypeInfo t, SDPatternOperator node = null_frag, bit ndd = …
1077 : ITy<0xC1, f, t, (outs t.RegClass:$dst), (ins t.RegClass:$src1, u8imm:$src2), m,
1083 class BinOpRI_RF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node, Format f, bit ndd = 0>
1084 : BinOpRI<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t, f, (outs t.RegClass:$dst),
1089 class BinOpRIF_RF<bits<8> o, string m, X86TypeInfo t, SDNode node, Format f, bit ndd = 0>
1090 : BinOpRI<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t, f, (outs t.RegClass:$dst),
1097 class BinOpRI8<bits<8> o, string m, string args, X86TypeInfo t, Format f, dag out>
1098 : ITy<o, f, t, out, (ins t.RegClass:$src1, t.Imm8Operand:$src2), m,
1103 class BinOpRI8_F<bits<8> o, string m, X86TypeInfo t, Format f>
1104 : BinOpRI8<o, m, binop_args, t, f, (outs)>, DefEFLAGS;
1106 class BinOpRI8_R<bits<8> o, string m, X86TypeInfo t, Format f, bit ndd = 0>
1107 …: BinOpRI8<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t, f, (outs t.RegClass:$dst)>, NDD<…
1109 class BinOpRI8_RF<bits<8> o, string m, X86TypeInfo t, Format f, bit ndd = 0>
1110 …: BinOpRI8<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t, f, (outs t.RegClass:$dst)>, DefE…
1113 class BinOpRI8F_RF<bits<8> o, string m, X86TypeInfo t, Format f, bit ndd = 0>
1114 …: BinOpRI8<o, m, !if(!eq(ndd, 0), binop_args, binop_ndd_args), t, f, (outs t.RegClass:$dst)>, DefE…
1119 class BinOpMR<bits<8> o, string m, string args, X86TypeInfo t, dag out, list<dag> p>
1120 : ITy<o, MRMDestMem, t, out, (ins t.MemOperand:$src1, t.RegClass:$src2), m,
1126 class BinOpMR_R<bits<8> o, string m, X86TypeInfo t>
1127 : BinOpMR<o, m, binop_ndd_args, t, (outs t.RegClass:$dst), []>, NDD<1>;
1129 class BinOpMR_RF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node>
1130 : BinOpMR<o, m, binop_ndd_args, t, (outs t.RegClass:$dst),
1134 class BinOpMR_F<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node>
1135 : BinOpMR<o, m, binop_args, t, (outs),
1140 class BinOpMR_M<bits<8> o, string m, X86TypeInfo t>
1141 : BinOpMR<o, m, binop_args, t, (outs), []>,
1148 class BinOpMR_MF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node>
1149 : BinOpMR<o, m, binop_args, t, (outs),
1161 class BinOpMRF_RF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node>
1162 : BinOpMR<o, m, binop_ndd_args, t, (outs t.RegClass:$dst),
1168 class BinOpMRF_MF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node>
1169 : BinOpMR<o, m, binop_args, t, (outs),
1183 class BinOpMI<bits<8> o, string m, string args, X86TypeInfo t, Format f, dag out, list<dag> p>
1184 : ITy<o, f, t, out, (ins t.MemOperand:$src1, t.ImmOperand:$src2), m,
1190 class BinOpMI_F<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node,
1192 : BinOpMI<o, m, binop_args, t, f, (outs),
1196 class BinOpMI_R<bits<8> o, string m, X86TypeInfo t, Format f>
1197 : BinOpMI<o, m, binop_ndd_args, t, f, (outs t.RegClass:$dst), []>,
1200 class BinOpMI_RF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node,
1202 : BinOpMI<o, m, binop_ndd_args, t, f, (outs t.RegClass:$dst),
1206 class BinOpMI_M<bits<8> o, string m, X86TypeInfo t, Format f>
1207 : BinOpMI<o, m, binop_args, t, f, (outs), []>, Sched<[WriteALURMW]> {
1211 class BinOpMI_MF<bits<8> o, string m, X86TypeInfo t, SDPatternOperator node, Format f>
1212 : BinOpMI<o, m, binop_args, t, f, (outs),
1220 class BinOpMIF_RF<bits<8> o, string m, X86TypeInfo t, SDNode node, Format f>
1221 : BinOpMI<o, m, binop_ndd_args, t, f, (outs t.RegClass:$dst),
1227 class BinOpMIF_MF<bits<8> o, string m, X86TypeInfo t, SDNode node, Format f>
1228 : BinOpMI<o, m, binop_args, t, f, (outs),
1236 class BinOpMI8<string m, string args, X86TypeInfo t, Format f, dag out>
1237 : ITy<0x83, f, t, out, (ins t.MemOperand:$src1, t.Imm8Operand:$src2), m,
1243 class BinOpMI8U<string m, string args, X86TypeInfo t, Format f, dag out, list<dag> p>
1244 : ITy<0xC1, f, t, out, (ins t.MemOperand:$src1, u8imm:$src2), m, args, p> {
1249 class BinOpMI8_F<string m, X86TypeInfo t, Format f>
1250 : BinOpMI8<m, binop_args, t, f, (outs)>, Sched<[WriteALU.Folded]>, DefEFLAGS;
1252 class BinOpMI8_R<string m, X86TypeInfo t, Format f>
1253 …: BinOpMI8<m, binop_ndd_args, t, f, (outs t.RegClass:$dst)>, Sched<[WriteALU.Folded, WriteALU.Read…
1255 class BinOpMI8U_R<string m, Format f, X86TypeInfo t, SDPatternOperator node = null_frag>
1256 : BinOpMI8U<m, binop_ndd_args, t, f, (outs t.RegClass:$dst),
1259 class BinOpMI8_RF<string m, X86TypeInfo t, Format f>
1260 …: BinOpMI8<m, binop_ndd_args, t, f, (outs t.RegClass:$dst)>, Sched<[WriteALU.Folded, WriteALU.Read…
1262 class BinOpMI8_M<string m, X86TypeInfo t, Format f>
1263 : BinOpMI8<m, binop_args, t, f, (outs)>, Sched<[WriteALURMW]> {
1267 class BinOpMI8U_M<string m, Format f, X86TypeInfo t, SDPatternOperator node = null_frag>
1268 : BinOpMI8U<m, binop_args, t, f, (outs),
1273 class BinOpMI8_MF<string m, X86TypeInfo t, Format f>
1274 : BinOpMI8<m, binop_args, t, f, (outs)>, Sched<[WriteALURMW]>, DefEFLAGS {
1279 class BinOpMI8F_RF<string m, X86TypeInfo t, Format f>
1280 : BinOpMI8<m, binop_ndd_args, t, f, (outs t.RegClass:$dst)>,
1284 class BinOpMI8F_MF<string m, X86TypeInfo t, Format f>
1285 : BinOpMI8<m, binop_args, t, f, (outs)>, Sched<[WriteADCRMW]>, DefEFLAGS, UseEFLAGS {
1290 class BinOpAI<bits<8> o, string m, X86TypeInfo t, Register areg, string args>
1291 : ITy<o, RawFrm, t, (outs), (ins t.ImmOperand:$src), m, args, []>,
1297 class BinOpAI_F<bits<8> o, string m, X86TypeInfo t, Register areg, string args>
1298 : BinOpAI<o, m, t, areg, args>, DefEFLAGS;
1301 class BinOpAI_AF<bits<8> o, string m, X86TypeInfo t, Register areg,
1302 string args> : BinOpAI<o, m, t, areg, args> {
1307 class BinOpAIF_AF<bits<8> o, string m, X86TypeInfo t, Register areg,
1308 string args> : BinOpAI<o, m, t, areg, args> {
1314 class BinOpRC_R<string m, Format f, X86TypeInfo t, SDPatternOperator node = null_frag, bit ndd = 0>
1315 : ITy<0xD3, f, t, (outs t.RegClass:$dst), (ins t.RegClass:$src1), m,
1321 class BinOpMC_M<string m, Format f, X86TypeInfo t, SDPatternOperator node = null_frag>
1322 : ITy<0xD3, f, t, (outs), (ins t.MemOperand:$src1), m, binop_cl_args,
1329 class BinOpMC_R<string m, Format f, X86TypeInfo t, SDPatternOperator node = null_frag>
1330 : ITy<0xD3, f, t, (outs t.RegClass:$dst), (ins t.MemOperand:$src1), m, binop_cl_ndd_args,
1337 class UnaryOpR<bits<8> o, Format f, string m, string args, X86TypeInfo t,
1339 : ITy<o, f, t, out, (ins t.RegClass:$src1), m, args, p>, Sched<[WriteALU]>;
1341 class UnaryOpR_R<bits<8> o, Format f, string m, X86TypeInfo t,
1343 : UnaryOpR<o, f, m, !if(!eq(ndd, 0), unaryop_args, unaryop_ndd_args), t,
1347 class UnaryOpR_RF<bits<8> o, Format f, string m, X86TypeInfo t,
1349 : UnaryOpR<o, f, m, !if(!eq(ndd, 0), unaryop_args, unaryop_ndd_args), t,
1355 class UnaryOpM<bits<8> o, Format f, string m, string args, X86TypeInfo t,
1357 : ITy<o, f, t, out, (ins t.MemOperand:$src1), m, args, p> {
1361 class UnaryOpM_R<bits<8> o, Format f, string m, X86TypeInfo t,
1363 : UnaryOpM<o, f, m, unaryop_ndd_args, t, (outs t.RegClass:$dst),
1367 class UnaryOpM_RF<bits<8> o, Format f, string m, X86TypeInfo t,
1369 : UnaryOpM<o, f, m, unaryop_ndd_args, t, (outs t.RegClass:$dst),
1373 class UnaryOpM_M<bits<8> o, Format f, string m, X86TypeInfo t,
1375 : UnaryOpM<o, f, m, unaryop_args, t, (outs),
1381 class UnaryOpM_MF<bits<8> o, Format f, string m, X86TypeInfo t,
1383 : UnaryOpM<o, f, m, unaryop_args, t, (outs),