Lines Matching refs:opc

242 multiclass sse12_fp_scalar<bits<8> opc, string OpcodeStr, SDNode OpNode,
246 def rr : SI<opc, MRMSrcReg, (outs RC:$dst), (ins RC:$src1, RC:$src2),
253 def rm : SI<opc, MRMSrcMem, (outs RC:$dst), (ins RC:$src1, x86memop:$src2),
262 multiclass sse12_fp_scalar_int<bits<8> opc, string OpcodeStr, RegisterClass RC,
267 def rr_Int : SI_Int<opc, MRMSrcReg, (outs RC:$dst), (ins RC:$src1, RC:$src2),
275 def rm_Int : SI_Int<opc, MRMSrcMem, (outs RC:$dst), (ins RC:$src1, memopr:$src2),
287 multiclass sse12_fp_packed<bits<8> opc, string OpcodeStr, SDNode OpNode,
292 def rr : PI<opc, MRMSrcReg, (outs RC:$dst), (ins RC:$src1, RC:$src2),
299 def rm : PI<opc, MRMSrcMem, (outs RC:$dst), (ins RC:$src1, x86memop:$src2),
309 multiclass sse12_fp_packed_logical_rm<bits<8> opc, RegisterClass RC, Domain d,
314 def rr : PI<opc, MRMSrcReg, (outs RC:$dst), (ins RC:$src1, RC:$src2),
320 def rm : PI<opc, MRMSrcMem, (outs RC:$dst), (ins RC:$src1, x86memop:$src2),
807 multiclass sse12_mov_packed<bits<8> opc, RegisterClass RC,
813 def rr : PI<opc, MRMSrcReg, (outs RC:$dst), (ins RC:$src),
817 def rm : PI<opc, MRMSrcMem, (outs RC:$dst), (ins x86memop:$src),
1137 multiclass sse12_mov_hilo_packed_base<bits<8>opc, SDNode psnode, SDNode pdnode,
1140 def PSrm : PI<opc, MRMSrcMem,
1149 def PDrm : PI<opc, MRMSrcMem,
1159 multiclass sse12_mov_hilo_packed<bits<8>opc, SDNode psnode, SDNode pdnode,
1162 defm V#NAME : sse12_mov_hilo_packed_base<opc, psnode, pdnode, base_opc,
1167 defm NAME : sse12_mov_hilo_packed_base<opc, psnode, pdnode, base_opc,
1469 multiclass sse12_cvt_s<bits<8> opc, RegisterClass SrcRC, RegisterClass DstRC,
1472 def rr : SI<opc, MRMSrcReg, (outs DstRC:$dst), (ins SrcRC:$src), asm,
1475 def rm : SI<opc, MRMSrcMem, (outs DstRC:$dst), (ins x86memop:$src), asm,
1480 multiclass sse12_cvt_p<bits<8> opc, RegisterClass SrcRC, RegisterClass DstRC,
1484 def rr : I<opc, MRMSrcReg, (outs DstRC:$dst), (ins SrcRC:$src), asm,
1487 def rm : I<opc, MRMSrcMem, (outs DstRC:$dst), (ins x86memop:$src), asm,
1492 multiclass sse12_vcvt_avx<bits<8> opc, RegisterClass SrcRC, RegisterClass DstRC,
1495 def rr : SI<opc, MRMSrcReg, (outs DstRC:$dst), (ins DstRC:$src1, SrcRC:$src),
1499 def rm : SI<opc, MRMSrcMem, (outs DstRC:$dst),
1629 multiclass sse12_cvt_sint<bits<8> opc, RegisterClass SrcRC, RegisterClass DstRC,
1632 def rr : SI<opc, MRMSrcReg, (outs DstRC:$dst), (ins SrcRC:$src),
1636 def rm : SI<opc, MRMSrcMem, (outs DstRC:$dst), (ins memop:$src),
1642 multiclass sse12_cvt_sint_3addr<bits<8> opc, RegisterClass SrcRC,
1646 def rr : SI<opc, MRMSrcReg, (outs DstRC:$dst), (ins DstRC:$src1, SrcRC:$src2),
1652 def rm : SI<opc, MRMSrcMem, (outs DstRC:$dst),
2428 multiclass sse12_ord_cmp<bits<8> opc, RegisterClass RC, SDNode OpNode,
2431 def rr: SI<opc, MRMSrcReg, (outs), (ins RC:$src1, RC:$src2),
2436 def rm: SI<opc, MRMSrcMem, (outs), (ins RC:$src1, x86memop:$src2),
2675 multiclass sse12_unpack_interleave<bits<8> opc, SDNode OpNode, ValueType vt,
2679 def rr : PI<opc, MRMSrcReg,
2684 def rm : PI<opc, MRMSrcMem,
2819 multiclass PDI_binop_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
2824 def rr : PDI<opc, MRMSrcReg, (outs RC:$dst),
2831 def rm : PDI<opc, MRMSrcMem, (outs RC:$dst),
2843 multiclass PDI_binop_all<bits<8> opc, string OpcodeStr, SDNode Opcode,
2847 defm V#NAME : PDI_binop_rm<opc, !strconcat("v", OpcodeStr), Opcode, OpVT128,
2851 defm NAME : PDI_binop_rm<opc, OpcodeStr, Opcode, OpVT128, VR128,
2855 defm V#NAME#Y : PDI_binop_rm<opc, !strconcat("v", OpcodeStr), Opcode,
2877 bits<8> opc, string OpcodeStr, SDNode OpNode, OpndItins itins> {
2878 defm V#NAME#PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode,
2882 defm V#NAME#PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode,
2887 defm PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode, FR32,
2890 defm PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode, FR64,
2910 bits<8> opc, string OpcodeStr, SDNode OpNode, OpndItins itins> {
2912 defm V#NAME#PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode,
2916 defm V#NAME#PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode,
2920 defm V#NAME#PSY : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode,
2924 defm V#NAME#PDY : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode,
2930 defm PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode, VR128,
2934 defm PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode, VR128,
2955 multiclass sse12_fp_packed_logical<bits<8> opc, string OpcodeStr,
2958 defm V#NAME#PSY : sse12_fp_packed_logical_rm<opc, VR256, SSEPackedSingle,
2964 defm V#NAME#PDY : sse12_fp_packed_logical_rm<opc, VR256, SSEPackedDouble,
2976 defm V#NAME#PS : sse12_fp_packed_logical_rm<opc, VR128, SSEPackedSingle,
2981 defm V#NAME#PD : sse12_fp_packed_logical_rm<opc, VR128, SSEPackedDouble,
2991 defm PS : sse12_fp_packed_logical_rm<opc, VR128, SSEPackedSingle,
2997 defm PD : sse12_fp_packed_logical_rm<opc, VR128, SSEPackedDouble,
3042 multiclass basic_sse12_fp_binop_p<bits<8> opc, string OpcodeStr,
3045 defm V#NAME#PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode,
3048 defm V#NAME#PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode,
3052 defm V#NAME#PSY : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"),
3055 defm V#NAME#PDY : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"),
3061 defm PS : sse12_fp_packed<opc, !strconcat(OpcodeStr, "ps"), OpNode, VR128,
3064 defm PD : sse12_fp_packed<opc, !strconcat(OpcodeStr, "pd"), OpNode, VR128,
3070 multiclass basic_sse12_fp_binop_s<bits<8> opc, string OpcodeStr, SDNode OpNode,
3072 defm V#NAME#SS : sse12_fp_scalar<opc, !strconcat(OpcodeStr, "ss"),
3075 defm V#NAME#SD : sse12_fp_scalar<opc, !strconcat(OpcodeStr, "sd"),
3080 defm SS : sse12_fp_scalar<opc, !strconcat(OpcodeStr, "ss"),
3083 defm SD : sse12_fp_scalar<opc, !strconcat(OpcodeStr, "sd"),
3089 multiclass basic_sse12_fp_binop_s_int<bits<8> opc, string OpcodeStr,
3091 defm V#NAME#SS : sse12_fp_scalar_int<opc, OpcodeStr, VR128,
3094 defm V#NAME#SD : sse12_fp_scalar_int<opc, OpcodeStr, VR128,
3099 defm SS : sse12_fp_scalar_int<opc, OpcodeStr, VR128,
3102 defm SD : sse12_fp_scalar_int<opc, OpcodeStr, VR128,
3350 multiclass sse_fp_unop_s<bits<8> opc, string OpcodeStr, RegisterClass RC,
3357 def r : I<opc, MRMSrcReg, (outs RC:$dst), (ins RC:$src1),
3362 def m : I<opc, MRMSrcMem, (outs RC:$dst), (ins x86memop:$src1),
3369 def r_Int : I<opc, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src1, VR128:$src2),
3373 def m_Int : I<opc, MRMSrcMem, (outs VR128:$dst), (ins VR128:$src1, vec_memop:$src2),
3396 multiclass avx_fp_unop_s<bits<8> opc, string OpcodeStr, RegisterClass RC,
3403 def r : I<opc, MRMSrcReg, (outs RC:$dst), (ins RC:$src1, RC:$src2),
3407 def m : I<opc, MRMSrcMem, (outs RC:$dst), (ins RC:$src1, x86memop:$src2),
3411 def r_Int : I<opc, MRMSrcReg, (outs VR128:$dst),
3416 def m_Int : I<opc, MRMSrcMem, (outs VR128:$dst),
3448 multiclass sse1_fp_unop_p<bits<8> opc, string OpcodeStr, SDNode OpNode,
3451 def V#NAME#PSr : PSI<opc, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src),
3456 def V#NAME#PSm : PSI<opc, MRMSrcMem, (outs VR128:$dst), (ins f128mem:$src),
3461 def V#NAME#PSYr : PSI<opc, MRMSrcReg, (outs VR256:$dst), (ins VR256:$src),
3466 def V#NAME#PSYm : PSI<opc, MRMSrcMem, (outs VR256:$dst), (ins f256mem:$src),
3473 def PSr : PSI<opc, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src),
3477 def PSm : PSI<opc, MRMSrcMem, (outs VR128:$dst), (ins f128mem:$src),
3484 multiclass sse2_fp_unop_p<bits<8> opc, string OpcodeStr,
3487 def V#NAME#PDr : PDI<opc, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src),
3492 def V#NAME#PDm : PDI<opc, MRMSrcMem, (outs VR128:$dst), (ins f128mem:$src),
3497 def V#NAME#PDYr : PDI<opc, MRMSrcReg, (outs VR256:$dst), (ins VR256:$src),
3502 def V#NAME#PDYm : PDI<opc, MRMSrcMem, (outs VR256:$dst), (ins f256mem:$src),
3509 def PDr : PDI<opc, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src),
3513 def PDm : PDI<opc, MRMSrcMem, (outs VR128:$dst), (ins f128mem:$src),
3519 multiclass sse1_fp_unop_s<bits<8> opc, string OpcodeStr, SDNode OpNode,
3521 defm SS : sse_fp_unop_s<opc, OpcodeStr##ss, FR32, v4f32, f32, f32mem,
3525 defm V#NAME#SS : avx_fp_unop_s<opc, "v"#OpcodeStr##ss, FR32, v4f32, f32,
3531 multiclass sse2_fp_unop_s<bits<8> opc, string OpcodeStr, SDNode OpNode,
3533 defm SD : sse_fp_unop_s<opc, OpcodeStr##sd, FR64, v2f64, f64, f64mem,
3537 defm V#NAME#SD : avx_fp_unop_s<opc, "v"#OpcodeStr##sd, FR64, v2f64, f64,
3920 multiclass PDI_binop_rm_int<bits<8> opc, string OpcodeStr, Intrinsic IntId,
3927 def rr : PDI<opc, MRMSrcReg, (outs RC:$dst),
3934 def rm : PDI<opc, MRMSrcMem, (outs RC:$dst),
3943 multiclass PDI_binop_all_int<bits<8> opc, string OpcodeStr, Intrinsic IntId128,
3947 defm V#NAME : PDI_binop_rm_int<opc, !strconcat("v", OpcodeStr), IntId128,
3952 defm NAME : PDI_binop_rm_int<opc, OpcodeStr, IntId128, VR128, memopv2i64,
3956 defm V#NAME#Y : PDI_binop_rm_int<opc, !strconcat("v", OpcodeStr), IntId256,
3961 multiclass PDI_binop_rmi<bits<8> opc, bits<8> opc2, Format ImmForm,
3968 def rr : PDI<opc, MRMSrcReg, (outs RC:$dst),
3975 def rm : PDI<opc, MRMSrcMem, (outs RC:$dst),
3993 multiclass PDI_binop_rm2<bits<8> opc, string OpcodeStr, SDNode OpNode,
3999 def rr : PDI<opc, MRMSrcReg, (outs RC:$dst),
4006 def rm : PDI<opc, MRMSrcMem, (outs RC:$dst),
4343 multiclass sse2_pack<bits<8> opc, string OpcodeStr, ValueType OutVT,
4346 def rr : PDI<opc, MRMSrcReg,
4355 def rm : PDI<opc, MRMSrcMem,
4367 multiclass sse2_pack_y<bits<8> opc, string OpcodeStr, ValueType OutVT,
4369 def Yrr : PDI<opc, MRMSrcReg,
4376 def Yrm : PDI<opc, MRMSrcMem,
4386 multiclass sse4_pack<bits<8> opc, string OpcodeStr, ValueType OutVT,
4389 def rr : SS48I<opc, MRMSrcReg,
4398 def rm : SS48I<opc, MRMSrcMem,
4410 multiclass sse4_pack_y<bits<8> opc, string OpcodeStr, ValueType OutVT,
4412 def Yrr : SS48I<opc, MRMSrcReg,
4419 def Yrm : SS48I<opc, MRMSrcMem,
4473 multiclass sse2_unpack<bits<8> opc, string OpcodeStr, ValueType vt,
4476 def rr : PDI<opc, MRMSrcReg,
4483 def rm : PDI<opc, MRMSrcMem,
4494 multiclass sse2_unpack_y<bits<8> opc, string OpcodeStr, ValueType vt,
4496 def Yrr : PDI<opc, MRMSrcReg,
4501 def Yrm : PDI<opc, MRMSrcMem,
5413 multiclass SS3I_unop_rm_int<bits<8> opc, string OpcodeStr, Intrinsic IntId128,
5415 def rr128 : SS38I<opc, MRMSrcReg, (outs VR128:$dst),
5421 def rm128 : SS38I<opc, MRMSrcMem, (outs VR128:$dst),
5431 multiclass SS3I_unop_rm_int_y<bits<8> opc, string OpcodeStr,
5433 def rr256 : SS38I<opc, MRMSrcReg, (outs VR256:$dst),
5439 def rm256 : SS38I<opc, MRMSrcMem, (outs VR256:$dst),
5553 multiclass SS3I_binop_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
5558 def rr : SS38I<opc, MRMSrcReg, (outs RC:$dst),
5565 def rm : SS38I<opc, MRMSrcMem, (outs RC:$dst),
5577 multiclass SS3I_binop_rm_int<bits<8> opc, string OpcodeStr,
5581 def rr128 : SS38I<opc, MRMSrcReg, (outs VR128:$dst),
5588 def rm128 : SS38I<opc, MRMSrcMem, (outs VR128:$dst),
5599 multiclass SS3I_binop_rm_int_y<bits<8> opc, string OpcodeStr,
5603 def rr256 : SS38I<opc, MRMSrcReg, (outs VR256:$dst),
5608 def rm256 : SS38I<opc, MRMSrcMem, (outs VR256:$dst),
5844 multiclass SS41I_pmovx_rrrm<bits<8> opc, string OpcodeStr, X86MemOperand MemOp,
5847 def rr : SS48I<opc, MRMSrcReg, (outs OutRC:$dst), (ins InRC:$src),
5852 def rm : SS48I<opc, MRMSrcMem, (outs OutRC:$dst), (ins MemOp:$src),
5858 multiclass SS41I_pmovx_rm_all<bits<8> opc, string OpcodeStr,
5862 defm NAME : SS41I_pmovx_rrrm<opc, OpcodeStr, MemOp, VR128, VR128, SSEItins>;
5864 defm V#NAME : SS41I_pmovx_rrrm<opc, !strconcat("v", OpcodeStr), MemOp,
5867 defm V#NAME#Y : SS41I_pmovx_rrrm<opc, !strconcat("v", OpcodeStr), MemYOp,
5871 multiclass SS41I_pmovx_rm<bits<8> opc, string OpcodeStr,
5873 defm PMOVSX#NAME : SS41I_pmovx_rm_all<opc, !strconcat("pmovsx", OpcodeStr),
5878 defm PMOVZX#NAME : SS41I_pmovx_rm_all<!add(opc, 0x10),
6115 multiclass SS41I_extract8<bits<8> opc, string OpcodeStr> {
6116 def rr : SS4AIi8<opc, MRMDestReg, (outs GR32orGR64:$dst),
6125 def mr : SS4AIi8<opc, MRMDestMem, (outs),
6140 multiclass SS41I_extract16<bits<8> opc, string OpcodeStr> {
6142 def rr_REV : SS4AIi8<opc, MRMDestReg, (outs GR32orGR64:$dst),
6150 def mr : SS4AIi8<opc, MRMDestMem, (outs),
6165 multiclass SS41I_extract32<bits<8> opc, string OpcodeStr> {
6166 def rr : SS4AIi8<opc, MRMDestReg, (outs GR32:$dst),
6174 def mr : SS4AIi8<opc, MRMDestMem, (outs),
6188 multiclass SS41I_extract64<bits<8> opc, string OpcodeStr> {
6189 def rr : SS4AIi8<opc, MRMDestReg, (outs GR64:$dst),
6197 def mr : SS4AIi8<opc, MRMDestMem, (outs),
6212 multiclass SS41I_extractf32<bits<8> opc, string OpcodeStr,
6214 def rr : SS4AIi8<opc, MRMDestReg, (outs GR32orGR64:$dst),
6222 def mr : SS4AIi8<opc, MRMDestMem, (outs),
6252 multiclass SS41I_insert8<bits<8> opc, string asm, bit Is2Addr = 1> {
6253 def rr : SS4AIi8<opc, MRMSrcReg, (outs VR128:$dst),
6262 def rm : SS4AIi8<opc, MRMSrcMem, (outs VR128:$dst),
6278 multiclass SS41I_insert32<bits<8> opc, string asm, bit Is2Addr = 1> {
6279 def rr : SS4AIi8<opc, MRMSrcReg, (outs VR128:$dst),
6288 def rm : SS4AIi8<opc, MRMSrcMem, (outs VR128:$dst),
6304 multiclass SS41I_insert64<bits<8> opc, string asm, bit Is2Addr = 1> {
6305 def rr : SS4AIi8<opc, MRMSrcReg, (outs VR128:$dst),
6314 def rm : SS4AIi8<opc, MRMSrcMem, (outs VR128:$dst),
6334 multiclass SS41I_insertf32<bits<8> opc, string asm, bit Is2Addr = 1,
6336 def rr : SS4AIi8<opc, MRMSrcReg, (outs VR128:$dst),
6345 def rm : SS4AIi8<opc, MRMSrcMem, (outs VR128:$dst),
6688 multiclass avx_bittest<bits<8> opc, string OpcodeStr, RegisterClass RC,
6690 def rr : SS48I<opc, MRMSrcReg, (outs), (ins RC:$src1, RC:$src2),
6694 def rm : SS48I<opc, MRMSrcMem, (outs), (ins RC:$src1, x86memop:$src2),
6755 multiclass SS41I_unop_rm_int_v16<bits<8> opc, string OpcodeStr,
6758 def rr128 : SS48I<opc, MRMSrcReg, (outs VR128:$dst),
6763 def rm128 : SS48I<opc, MRMSrcMem, (outs VR128:$dst),
6782 multiclass SS48I_binop_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
6787 def rr : SS48I<opc, MRMSrcReg, (outs RC:$dst),
6794 def rm : SS48I<opc, MRMSrcMem, (outs RC:$dst),
6806 multiclass SS48I_binop_rm2<bits<8> opc, string OpcodeStr, SDNode OpNode,
6812 def rr : SS48I<opc, MRMSrcReg, (outs RC:$dst),
6819 def rm : SS48I<opc, MRMSrcMem, (outs RC:$dst),
6936 multiclass SS41I_binop_rmi_int<bits<8> opc, string OpcodeStr,
6941 def rri : SS4AIi8<opc, MRMSrcReg, (outs RC:$dst),
6950 def rmi : SS4AIi8<opc, MRMSrcMem, (outs RC:$dst),
6964 multiclass SS41I_binop_rmi<bits<8> opc, string OpcodeStr, SDNode OpNode,
6969 def rri : SS4AIi8<opc, MRMSrcReg, (outs RC:$dst),
6978 def rmi : SS4AIi8<opc, MRMSrcMem, (outs RC:$dst),
7071 multiclass SS41I_quaternary_int_avx<bits<8> opc, string OpcodeStr,
7075 def rr : Ii8<opc, MRMSrcReg, (outs RC:$dst),
7083 def rm : Ii8<opc, MRMSrcMem, (outs RC:$dst),
7222 multiclass SS41I_ternary_int<bits<8> opc, string OpcodeStr, PatFrag mem_frag,
7225 def rr0 : SS48I<opc, MRMSrcReg, (outs VR128:$dst),
7232 def rm0 : SS48I<opc, MRMSrcMem, (outs VR128:$dst),
7308 multiclass SS42I_binop_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
7311 def rr : SS428I<opc, MRMSrcReg, (outs RC:$dst),
7317 def rm : SS428I<opc, MRMSrcMem, (outs RC:$dst),
7500 class SS42I_crc32r<bits<8> opc, string asm, RegisterClass RCOut,
7502 SS42FI<opc, MRMSrcReg, (outs RCOut:$dst), (ins RCOut:$src1, RCIn:$src2),
7507 class SS42I_crc32m<bits<8> opc, string asm, RegisterClass RCOut,
7509 SS42FI<opc, MRMSrcMem, (outs RCOut:$dst), (ins RCOut:$src1, x86memop:$src2),
7599 multiclass AESI_binop_rm_int<bits<8> opc, string OpcodeStr, Intrinsic IntId128,
7601 def rr : AES8I<opc, MRMSrcReg, (outs VR128:$dst),
7608 def rm : AES8I<opc, MRMSrcMem, (outs VR128:$dst),
7803 class avx_broadcast_rm<bits<8> opc, string OpcodeStr, RegisterClass RC,
7806 AVX8I<opc, MRMSrcMem, (outs RC:$dst), (ins x86memop:$src),
7814 class avx2_broadcast_rr<bits<8> opc, string OpcodeStr, RegisterClass RC,
7816 AVX28I<opc, MRMSrcReg, (outs RC:$dst), (ins VR128:$src),
8264 multiclass AVX2_binop_rmi<bits<8> opc, string OpcodeStr, SDNode OpNode,
8268 def rri : AVX2AIi8<opc, MRMSrcReg, (outs RC:$dst),
8274 def rmi : AVX2AIi8<opc, MRMSrcMem, (outs RC:$dst),
8293 multiclass avx2_broadcast<bits<8> opc, string OpcodeStr,
8297 def rr : AVX28I<opc, MRMSrcReg, (outs VR128:$dst), (ins VR128:$src),
8302 def rm : AVX28I<opc, MRMSrcMem, (outs VR128:$dst), (ins x86memop:$src),
8307 def Yrr : AVX28I<opc, MRMSrcReg, (outs VR256:$dst), (ins VR128:$src),
8312 def Yrm : AVX28I<opc, MRMSrcMem, (outs VR256:$dst), (ins x86memop:$src),
8450 multiclass avx2_perm<bits<8> opc, string OpcodeStr, PatFrag mem_frag,
8452 def Yrr : AVX28I<opc, MRMSrcReg, (outs VR256:$dst),
8459 def Yrm : AVX28I<opc, MRMSrcMem, (outs VR256:$dst),
8473 multiclass avx2_perm_imm<bits<8> opc, string OpcodeStr, PatFrag mem_frag,
8475 def Yri : AVX2AIi8<opc, MRMSrcReg, (outs VR256:$dst),
8482 def Ymi : AVX2AIi8<opc, MRMSrcMem, (outs VR256:$dst),
8786 multiclass avx2_var_shift<bits<8> opc, string OpcodeStr, SDNode OpNode,
8788 def rr : AVX28I<opc, MRMSrcReg, (outs VR128:$dst),
8794 def rm : AVX28I<opc, MRMSrcMem, (outs VR128:$dst),
8801 def Yrr : AVX28I<opc, MRMSrcReg, (outs VR256:$dst),
8807 def Yrm : AVX28I<opc, MRMSrcMem, (outs VR256:$dst),
8824 multiclass avx2_gather<bits<8> opc, string OpcodeStr, RegisterClass RC256,
8826 def rm : AVX28I<opc, MRMSrcMem, (outs VR128:$dst, VR128:$mask_wb),
8831 def Yrm : AVX28I<opc, MRMSrcMem, (outs RC256:$dst, RC256:$mask_wb),