Lines Matching refs:OpcodeStr
242 multiclass sse12_fp_scalar<bits<8> opc, string OpcodeStr, SDNode OpNode,
248 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
249 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
255 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
256 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
262 multiclass sse12_fp_scalar_int<bits<8> opc, string OpcodeStr, RegisterClass RC,
272 !strconcat("int_x86_sse", SSEVer, "_", OpcodeStr, FPSizeStr))
280 SSEVer, "_", OpcodeStr, FPSizeStr))
287 multiclass sse12_fp_packed<bits<8> opc, string OpcodeStr, SDNode OpNode,
294 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
295 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
301 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
302 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
310 string OpcodeStr, X86MemOperand x86memop,
316 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
317 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
322 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
323 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
531 X86MemOperand x86memop, string OpcodeStr,
534 defm V#NAME : sse12_move_rr<RC, OpNode, vt, x86memop, OpcodeStr,
539 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
544 defm NAME : sse12_move_rr<RC, OpNode, vt, x86memop, OpcodeStr,
549 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
556 PatFrag mem_pat, string OpcodeStr,
559 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
563 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
2381 PatFrag ld_frag, string OpcodeStr> {
2383 !strconcat(OpcodeStr, "\t{$src2, $src1|$src1, $src2}"),
2388 !strconcat(OpcodeStr, "\t{$src2, $src1|$src1, $src2}"),
2742 multiclass PDI_binop_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
2750 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
2751 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
2757 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
2758 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
2766 multiclass PDI_binop_all<bits<8> opc, string OpcodeStr, SDNode Opcode,
2770 defm V#NAME : PDI_binop_rm<opc, !strconcat("v", OpcodeStr), Opcode, OpVT128,
2774 defm NAME : PDI_binop_rm<opc, OpcodeStr, Opcode, OpVT128, VR128,
2778 defm V#NAME#Y : PDI_binop_rm<opc, !strconcat("v", OpcodeStr), Opcode,
2800 bits<8> opc, string OpcodeStr, SDNode OpNode, OpndItins itins> {
2801 defm V#NAME#PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode,
2805 defm V#NAME#PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode,
2810 defm PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode, FR32,
2813 defm PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode, FR64,
2833 bits<8> opc, string OpcodeStr, SDNode OpNode, OpndItins itins> {
2835 defm V#NAME#PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode,
2839 defm V#NAME#PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode,
2843 defm V#NAME#PSY : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode,
2847 defm V#NAME#PDY : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode,
2853 defm PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode, VR128,
2857 defm PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode, VR128,
2878 multiclass sse12_fp_packed_logical<bits<8> opc, string OpcodeStr,
2882 !strconcat(OpcodeStr, "ps"), f256mem,
2888 !strconcat(OpcodeStr, "pd"), f256mem,
2900 !strconcat(OpcodeStr, "ps"), f128mem, [],
2905 !strconcat(OpcodeStr, "pd"), f128mem,
2915 !strconcat(OpcodeStr, "ps"), f128mem,
2921 !strconcat(OpcodeStr, "pd"), f128mem,
2965 multiclass basic_sse12_fp_binop_p<bits<8> opc, string OpcodeStr,
2968 defm V#NAME#PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode,
2971 defm V#NAME#PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode,
2975 defm V#NAME#PSY : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"),
2978 defm V#NAME#PDY : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"),
2984 defm PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode, VR128,
2987 defm PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode, VR128,
2993 multiclass basic_sse12_fp_binop_s<bits<8> opc, string OpcodeStr, SDNode OpNode,
2995 defm V#NAME#SS : sse12_fp_scalar<opc, !strconcat(OpcodeStr, "ss"),
2998 defm V#NAME#SD : sse12_fp_scalar<opc, !strconcat(OpcodeStr, "sd"),
3003 defm SS : sse12_fp_scalar<opc, !strconcat(OpcodeStr, "ss"),
3006 defm SD : sse12_fp_scalar<opc, !strconcat(OpcodeStr, "sd"),
3012 multiclass basic_sse12_fp_binop_s_int<bits<8> opc, string OpcodeStr,
3014 defm V#NAME#SS : sse12_fp_scalar_int<opc, OpcodeStr, VR128,
3015 !strconcat(OpcodeStr, "ss"), "", "_ss", ssmem, sse_load_f32,
3017 defm V#NAME#SD : sse12_fp_scalar_int<opc, OpcodeStr, VR128,
3018 !strconcat(OpcodeStr, "sd"), "2", "_sd", sdmem, sse_load_f64,
3022 defm SS : sse12_fp_scalar_int<opc, OpcodeStr, VR128,
3023 !strconcat(OpcodeStr, "ss"), "", "_ss", ssmem, sse_load_f32,
3025 defm SD : sse12_fp_scalar_int<opc, OpcodeStr, VR128,
3026 !strconcat(OpcodeStr, "sd"), "2", "_sd", sdmem, sse_load_f64,
3273 multiclass sse_fp_unop_s<bits<8> opc, string OpcodeStr, RegisterClass RC,
3281 !strconcat(OpcodeStr, "\t{$src1, $dst|$dst, $src1}"),
3286 !strconcat(OpcodeStr, "\t{$src1, $dst|$dst, $src1}"),
3293 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
3297 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
3328 multiclass avx_fp_unop_s<bits<8> opc, string OpcodeStr, RegisterClass RC,
3336 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
3340 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
3345 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
3350 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
3389 multiclass sse1_fp_unop_p<bits<8> opc, string OpcodeStr, SDNode OpNode,
3393 !strconcat("v", OpcodeStr,
3398 !strconcat("v", OpcodeStr,
3403 !strconcat("v", OpcodeStr,
3408 !strconcat("v", OpcodeStr,
3415 !strconcat(OpcodeStr, "ps\t{$src, $dst|$dst, $src}"),
3419 !strconcat(OpcodeStr, "ps\t{$src, $dst|$dst, $src}"),
3425 multiclass sse2_fp_unop_p<bits<8> opc, string OpcodeStr,
3429 !strconcat("v", OpcodeStr,
3434 !strconcat("v", OpcodeStr,
3439 !strconcat("v", OpcodeStr,
3444 !strconcat("v", OpcodeStr,
3451 !strconcat(OpcodeStr, "pd\t{$src, $dst|$dst, $src}"),
3455 !strconcat(OpcodeStr, "pd\t{$src, $dst|$dst, $src}"),
3460 multiclass sse1_fp_unop_s<bits<8> opc, string OpcodeStr, SDNode OpNode,
3462 defm SS : sse_fp_unop_s<opc, OpcodeStr##ss, FR32, v4f32, f32, f32mem,
3464 !cast<Intrinsic>("int_x86_sse_"##OpcodeStr##_ss), OpNode,
3466 defm V#NAME#SS : avx_fp_unop_s<opc, "v"#OpcodeStr##ss, FR32, v4f32, f32,
3468 !cast<Intrinsic>("int_x86_sse_"##OpcodeStr##_ss), OpNode,
3472 multiclass sse2_fp_unop_s<bits<8> opc, string OpcodeStr, SDNode OpNode,
3474 defm SD : sse_fp_unop_s<opc, OpcodeStr##sd, FR64, v2f64, f64, f64mem,
3476 !cast<Intrinsic>("int_x86_sse2_"##OpcodeStr##_sd),
3478 defm V#NAME#SD : avx_fp_unop_s<opc, "v"#OpcodeStr##sd, FR64, v2f64, f64,
3480 !cast<Intrinsic>("int_x86_sse2_"##OpcodeStr##_sd),
3862 multiclass PDI_binop_rm_int<bits<8> opc, string OpcodeStr, Intrinsic IntId,
3872 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
3873 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
3879 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
3880 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
3885 multiclass PDI_binop_all_int<bits<8> opc, string OpcodeStr, Intrinsic IntId128,
3889 defm V#NAME : PDI_binop_rm_int<opc, !strconcat("v", OpcodeStr), IntId128,
3894 defm NAME : PDI_binop_rm_int<opc, OpcodeStr, IntId128, VR128, memopv2i64,
3898 defm V#NAME#Y : PDI_binop_rm_int<opc, !strconcat("v", OpcodeStr), IntId256,
3904 string OpcodeStr, SDNode OpNode,
3913 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
3914 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
3920 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
3921 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
3928 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
3929 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
3935 multiclass PDI_binop_rm2<bits<8> opc, string OpcodeStr, SDNode OpNode,
3944 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
3945 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
3951 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
3952 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
4211 multiclass sse2_pshuffle<string OpcodeStr, ValueType vt128, ValueType vt256,
4216 !strconcat("v", OpcodeStr,
4223 !strconcat("v", OpcodeStr,
4234 !strconcat("v", OpcodeStr,
4241 !strconcat("v", OpcodeStr,
4252 !strconcat(OpcodeStr,
4259 !strconcat(OpcodeStr,
4294 multiclass sse2_pack<bits<8> opc, string OpcodeStr, ValueType OutVT,
4300 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
4301 !strconcat(OpcodeStr,
4309 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
4310 !strconcat(OpcodeStr,
4318 multiclass sse2_pack_y<bits<8> opc, string OpcodeStr, ValueType OutVT,
4322 !strconcat(OpcodeStr,
4329 !strconcat(OpcodeStr,
4337 multiclass sse4_pack<bits<8> opc, string OpcodeStr, ValueType OutVT,
4343 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
4344 !strconcat(OpcodeStr,
4352 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
4353 !strconcat(OpcodeStr,
4361 multiclass sse4_pack_y<bits<8> opc, string OpcodeStr, ValueType OutVT,
4365 !strconcat(OpcodeStr,
4372 !strconcat(OpcodeStr,
4423 multiclass sse2_unpack<bits<8> opc, string OpcodeStr, ValueType vt,
4428 !strconcat(OpcodeStr,"\t{$src2, $dst|$dst, $src2}"),
4429 !strconcat(OpcodeStr,"\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
4435 !strconcat(OpcodeStr,"\t{$src2, $dst|$dst, $src2}"),
4436 !strconcat(OpcodeStr,"\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
4443 multiclass sse2_unpack_y<bits<8> opc, string OpcodeStr, ValueType vt,
4447 !strconcat(OpcodeStr,"\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
4452 !strconcat(OpcodeStr,"\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
5038 multiclass sse3_replicate_sfp<bits<8> op, SDNode OpNode, string OpcodeStr,
5042 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5046 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5100 multiclass sse3_replicate_dfp<string OpcodeStr> {
5102 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5106 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5114 multiclass sse3_replicate_dfp_y<string OpcodeStr> {
5116 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5120 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5198 multiclass sse3_addsub<Intrinsic Int, string OpcodeStr, RegisterClass RC,
5204 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
5205 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
5211 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
5212 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
5277 multiclass S3D_Int<bits<8> o, string OpcodeStr, ValueType vt, RegisterClass RC,
5282 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
5283 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
5289 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
5290 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
5294 multiclass S3_Int<bits<8> o, string OpcodeStr, ValueType vt, RegisterClass RC,
5299 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
5300 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
5306 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
5307 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
5356 multiclass SS3I_unop_rm<bits<8> opc, string OpcodeStr, ValueType vt,
5360 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5366 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5373 multiclass SS3I_unop_rm_y<bits<8> opc, string OpcodeStr, ValueType vt,
5377 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5383 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5493 multiclass SS3I_binop_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
5501 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
5502 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
5508 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
5509 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
5517 multiclass SS3I_binop_rm_int<bits<8> opc, string OpcodeStr,
5524 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
5525 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
5531 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
5532 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
5539 multiclass SS3I_binop_rm_int_y<bits<8> opc, string OpcodeStr,
5545 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
5550 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
5782 multiclass SS41I_pmovx_rrrm<bits<8> opc, string OpcodeStr, X86MemOperand MemOp,
5786 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5791 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
5796 multiclass SS41I_pmovx_rm_all<bits<8> opc, string OpcodeStr,
5800 defm NAME : SS41I_pmovx_rrrm<opc, OpcodeStr, MemOp, VR128, VR128, SSEItins>;
5802 defm V#NAME : SS41I_pmovx_rrrm<opc, !strconcat("v", OpcodeStr), MemOp,
5805 defm V#NAME#Y : SS41I_pmovx_rrrm<opc, !strconcat("v", OpcodeStr), MemYOp,
5809 multiclass SS41I_pmovx_rm<bits<8> opc, string OpcodeStr, X86MemOperand MemOp,
5811 defm PMOVSX#NAME : SS41I_pmovx_rm_all<opc, !strconcat("pmovsx", OpcodeStr),
5817 !strconcat("pmovzx", OpcodeStr),
6053 multiclass SS41I_extract8<bits<8> opc, string OpcodeStr> {
6056 !strconcat(OpcodeStr,
6065 !strconcat(OpcodeStr,
6078 multiclass SS41I_extract16<bits<8> opc, string OpcodeStr> {
6082 !strconcat(OpcodeStr,
6090 !strconcat(OpcodeStr,
6103 multiclass SS41I_extract32<bits<8> opc, string OpcodeStr> {
6106 !strconcat(OpcodeStr,
6114 !strconcat(OpcodeStr,
6126 multiclass SS41I_extract64<bits<8> opc, string OpcodeStr> {
6129 !strconcat(OpcodeStr,
6137 !strconcat(OpcodeStr,
6150 multiclass SS41I_extractf32<bits<8> opc, string OpcodeStr,
6154 !strconcat(OpcodeStr,
6162 !strconcat(OpcodeStr,
6330 multiclass sse41_fp_unop_rm<bits<8> opcps, bits<8> opcpd, string OpcodeStr,
6339 !strconcat(OpcodeStr,
6347 !strconcat(OpcodeStr,
6358 !strconcat(OpcodeStr,
6366 !strconcat(OpcodeStr,
6375 string OpcodeStr,
6384 !strconcat(OpcodeStr,
6386 !strconcat(OpcodeStr,
6395 !strconcat(OpcodeStr,
6397 !strconcat(OpcodeStr,
6406 !strconcat(OpcodeStr,
6408 !strconcat(OpcodeStr,
6419 !strconcat(OpcodeStr,
6421 !strconcat(OpcodeStr,
6430 !strconcat(OpcodeStr,
6432 !strconcat(OpcodeStr,
6441 !strconcat(OpcodeStr,
6443 !strconcat(OpcodeStr,
6626 multiclass avx_bittest<bits<8> opc, string OpcodeStr, RegisterClass RC,
6629 !strconcat(OpcodeStr, "\t{$src2, $src1|$src1, $src2}"),
6633 !strconcat(OpcodeStr, "\t{$src2, $src1|$src1, $src2}"),
6693 multiclass SS41I_unop_rm_int_v16<bits<8> opc, string OpcodeStr,
6698 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
6703 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
6720 multiclass SS48I_binop_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
6728 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
6729 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
6735 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
6736 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
6744 multiclass SS48I_binop_rm2<bits<8> opc, string OpcodeStr, SDNode OpNode,
6753 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
6754 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
6760 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
6761 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
6878 multiclass SS41I_binop_rmi_int<bits<8> opc, string OpcodeStr,
6886 !strconcat(OpcodeStr,
6888 !strconcat(OpcodeStr,
6895 !strconcat(OpcodeStr,
6897 !strconcat(OpcodeStr,
6906 multiclass SS41I_binop_rmi<bits<8> opc, string OpcodeStr, SDNode OpNode,
6914 !strconcat(OpcodeStr,
6916 !strconcat(OpcodeStr,
6923 !strconcat(OpcodeStr,
6925 !strconcat(OpcodeStr,
7013 multiclass SS41I_quaternary_int_avx<bits<8> opc, string OpcodeStr,
7019 !strconcat(OpcodeStr,
7027 !strconcat(OpcodeStr,
7162 multiclass SS41I_ternary_int<bits<8> opc, string OpcodeStr, PatFrag mem_frag,
7167 !strconcat(OpcodeStr,
7174 !strconcat(OpcodeStr,
7278 multiclass SS42I_binop_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
7284 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
7285 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
7290 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
7291 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
7514 multiclass SHAI_binop<bits<8> Opc, string OpcodeStr, Intrinsic IntId,
7518 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
7525 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
7569 multiclass AESI_binop_rm_int<bits<8> opc, string OpcodeStr, Intrinsic IntId128,
7574 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
7575 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
7581 !strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
7582 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
7783 class avx_broadcast_rm<bits<8> opc, string OpcodeStr, RegisterClass RC,
7787 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
7792 class avx2_broadcast_rr<bits<8> opc, string OpcodeStr, RegisterClass RC,
7795 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
7987 multiclass avx_movmask_rm<bits<8> opc_rm, bits<8> opc_mr, string OpcodeStr,
7992 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
7997 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8002 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8006 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8026 multiclass avx_permil<bits<8> opc_rm, bits<8> opc_rmi, string OpcodeStr,
8033 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8038 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8045 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8050 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8251 multiclass AVX2_binop_rmi<bits<8> opc, string OpcodeStr, SDNode OpNode,
8257 !strconcat(OpcodeStr,
8263 !strconcat(OpcodeStr,
8280 multiclass avx2_broadcast<bits<8> opc, string OpcodeStr,
8285 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
8290 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
8295 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
8300 !strconcat(OpcodeStr, "\t{$src, $dst|$dst, $src}"),
8443 multiclass avx2_perm<bits<8> opc, string OpcodeStr, PatFrag mem_frag,
8448 !strconcat(OpcodeStr,
8455 !strconcat(OpcodeStr,
8468 multiclass avx2_perm_imm<bits<8> opc, string OpcodeStr, PatFrag mem_frag,
8473 !strconcat(OpcodeStr,
8480 !strconcat(OpcodeStr,
8638 multiclass avx2_pmovmask<string OpcodeStr,
8643 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8647 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8652 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8656 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8710 multiclass avx2_var_shift<bits<8> opc, string OpcodeStr, SDNode OpNode,
8714 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8720 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8727 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8733 !strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
8751 multiclass avx2_gather<bits<8> opc, string OpcodeStr, RegisterClass RC256,
8755 !strconcat(OpcodeStr,
8760 !strconcat(OpcodeStr,