Lines Matching refs:VTI
12282 X86FoldableSchedWrite sched, X86VectorVTInfo VTI> {
12284 ExeDomain = VTI.ExeDomain in {
12285 defm r: AVX512_maskable_3src<Op, MRMSrcReg, VTI, (outs VTI.RC:$dst),
12286 (ins VTI.RC:$src2, VTI.RC:$src3), OpStr,
12288 (VTI.VT (OpNode VTI.RC:$src1, VTI.RC:$src2, VTI.RC:$src3))>,
12290 defm m: AVX512_maskable_3src<Op, MRMSrcMem, VTI, (outs VTI.RC:$dst),
12291 (ins VTI.RC:$src2, VTI.MemOp:$src3), OpStr,
12293 (VTI.VT (OpNode VTI.RC:$src1, VTI.RC:$src2,
12294 (VTI.VT (VTI.LdFrag addr:$src3))))>,
12301 X86FoldableSchedWrite sched, X86VectorVTInfo VTI>
12302 : VBMI2_shift_var_rm<Op, OpStr, OpNode, sched, VTI> {
12304 ExeDomain = VTI.ExeDomain in
12305 defm mb: AVX512_maskable_3src<Op, MRMSrcMem, VTI, (outs VTI.RC:$dst),
12306 (ins VTI.RC:$src2, VTI.ScalarMemOp:$src3), OpStr,
12307 "${src3}"#VTI.BroadcastStr#", $src2",
12308 "$src2, ${src3}"#VTI.BroadcastStr,
12309 (OpNode VTI.RC:$src1, VTI.RC:$src2,
12310 (VTI.VT (VTI.BroadcastLdFrag addr:$src3)))>,
12316 X86SchedWriteWidths sched, AVX512VLVectorVTInfo VTI> {
12318 defm Z : VBMI2_shift_var_rm<Op, OpStr, OpNode, sched.ZMM, VTI.info512>,
12321 defm Z256 : VBMI2_shift_var_rm<Op, OpStr, OpNode, sched.YMM, VTI.info256>,
12323 defm Z128 : VBMI2_shift_var_rm<Op, OpStr, OpNode, sched.XMM, VTI.info128>,
12329 X86SchedWriteWidths sched, AVX512VLVectorVTInfo VTI> {
12331 defm Z : VBMI2_shift_var_rmb<Op, OpStr, OpNode, sched.ZMM, VTI.info512>,
12334 defm Z256 : VBMI2_shift_var_rmb<Op, OpStr, OpNode, sched.YMM, VTI.info256>,
12336 defm Z128 : VBMI2_shift_var_rmb<Op, OpStr, OpNode, sched.XMM, VTI.info128>,
12384 X86FoldableSchedWrite sched, X86VectorVTInfo VTI,
12386 let ExeDomain = VTI.ExeDomain in {
12387 defm r : AVX512_maskable_3src<Op, MRMSrcReg, VTI, (outs VTI.RC:$dst),
12388 (ins VTI.RC:$src2, VTI.RC:$src3), OpStr,
12390 (VTI.VT (OpNode VTI.RC:$src1,
12391 VTI.RC:$src2, VTI.RC:$src3)),
12394 defm m : AVX512_maskable_3src<Op, MRMSrcMem, VTI, (outs VTI.RC:$dst),
12395 (ins VTI.RC:$src2, VTI.MemOp:$src3), OpStr,
12397 (VTI.VT (OpNode VTI.RC:$src1, VTI.RC:$src2,
12398 (VTI.VT (VTI.LdFrag addr:$src3))))>,
12402 defm mb : AVX512_maskable_3src<Op, MRMSrcMem, VTI, (outs VTI.RC:$dst),
12403 (ins VTI.RC:$src2, VTI.ScalarMemOp:$src3),
12404 OpStr, "${src3}"#VTI.BroadcastStr#", $src2",
12405 "$src2, ${src3}"#VTI.BroadcastStr,
12406 (OpNode VTI.RC:$src1, VTI.RC:$src2,
12407 (VTI.VT (VTI.BroadcastLdFrag addr:$src3)))>,
12470 multiclass VPSHUFBITQMB_rm<X86FoldableSchedWrite sched, X86VectorVTInfo VTI> {
12471 defm rr : AVX512_maskable_cmp<0x8F, MRMSrcReg, VTI, (outs VTI.KRC:$dst),
12472 (ins VTI.RC:$src1, VTI.RC:$src2),
12475 (X86Vpshufbitqmb (VTI.VT VTI.RC:$src1),
12476 (VTI.VT VTI.RC:$src2)),
12477 (X86Vpshufbitqmb_su (VTI.VT VTI.RC:$src1),
12478 (VTI.VT VTI.RC:$src2))>, EVEX, VVVV, T8, PD,
12480 defm rm : AVX512_maskable_cmp<0x8F, MRMSrcMem, VTI, (outs VTI.KRC:$dst),
12481 (ins VTI.RC:$src1, VTI.MemOp:$src2),
12484 (X86Vpshufbitqmb (VTI.VT VTI.RC:$src1),
12485 (VTI.VT (VTI.LdFrag addr:$src2))),
12486 (X86Vpshufbitqmb_su (VTI.VT VTI.RC:$src1),
12487 (VTI.VT (VTI.LdFrag addr:$src2)))>,
12492 multiclass VPSHUFBITQMB_common<X86SchedWriteWidths sched, AVX512VLVectorVTInfo VTI> {
12494 defm Z : VPSHUFBITQMB_rm<sched.ZMM, VTI.info512>, EVEX_V512;
12496 defm Z256 : VPSHUFBITQMB_rm<sched.YMM, VTI.info256>, EVEX_V256;
12497 defm Z128 : VPSHUFBITQMB_rm<sched.XMM, VTI.info128>, EVEX_V128;
12526 X86FoldableSchedWrite sched, X86VectorVTInfo VTI,
12528 : avx512_3Op_rm_imm8<Op, OpStr, OpNode, sched, VTI, VTI> {
12529 let ExeDomain = VTI.ExeDomain in
12530 defm rmbi : AVX512_maskable<Op, MRMSrcMem, VTI, (outs VTI.RC:$dst),
12531 (ins VTI.RC:$src1, BcstVTI.ScalarMemOp:$src2, u8imm:$src3),
12534 (OpNode (VTI.VT VTI.RC:$src1),