Lines Matching refs:VTI
11766 X86FoldableSchedWrite sched, X86VectorVTInfo VTI> {
11768 ExeDomain = VTI.ExeDomain in {
11769 defm r: AVX512_maskable_3src<Op, MRMSrcReg, VTI, (outs VTI.RC:$dst),
11770 (ins VTI.RC:$src2, VTI.RC:$src3), OpStr,
11772 (VTI.VT (OpNode VTI.RC:$src1, VTI.RC:$src2, VTI.RC:$src3))>,
11774 defm m: AVX512_maskable_3src<Op, MRMSrcMem, VTI, (outs VTI.RC:$dst),
11775 (ins VTI.RC:$src2, VTI.MemOp:$src3), OpStr,
11777 (VTI.VT (OpNode VTI.RC:$src1, VTI.RC:$src2,
11778 (VTI.VT (VTI.LdFrag addr:$src3))))>,
11785 X86FoldableSchedWrite sched, X86VectorVTInfo VTI>
11786 : VBMI2_shift_var_rm<Op, OpStr, OpNode, sched, VTI> {
11788 ExeDomain = VTI.ExeDomain in
11789 defm mb: AVX512_maskable_3src<Op, MRMSrcMem, VTI, (outs VTI.RC:$dst),
11790 (ins VTI.RC:$src2, VTI.ScalarMemOp:$src3), OpStr,
11791 "${src3}"#VTI.BroadcastStr#", $src2",
11792 "$src2, ${src3}"#VTI.BroadcastStr,
11793 (OpNode VTI.RC:$src1, VTI.RC:$src2,
11794 (VTI.VT (VTI.BroadcastLdFrag addr:$src3)))>,
11800 X86SchedWriteWidths sched, AVX512VLVectorVTInfo VTI> {
11802 defm Z : VBMI2_shift_var_rm<Op, OpStr, OpNode, sched.ZMM, VTI.info512>,
11805 defm Z256 : VBMI2_shift_var_rm<Op, OpStr, OpNode, sched.YMM, VTI.info256>,
11807 defm Z128 : VBMI2_shift_var_rm<Op, OpStr, OpNode, sched.XMM, VTI.info128>,
11813 X86SchedWriteWidths sched, AVX512VLVectorVTInfo VTI> {
11815 defm Z : VBMI2_shift_var_rmb<Op, OpStr, OpNode, sched.ZMM, VTI.info512>,
11818 defm Z256 : VBMI2_shift_var_rmb<Op, OpStr, OpNode, sched.YMM, VTI.info256>,
11820 defm Z128 : VBMI2_shift_var_rmb<Op, OpStr, OpNode, sched.XMM, VTI.info128>,
11870 X86FoldableSchedWrite sched, X86VectorVTInfo VTI,
11872 let ExeDomain = VTI.ExeDomain in {
11873 defm r : AVX512_maskable_3src<Op, MRMSrcReg, VTI, (outs VTI.RC:$dst),
11874 (ins VTI.RC:$src2, VTI.RC:$src3), OpStr,
11876 (VTI.VT (OpNode VTI.RC:$src1,
11877 VTI.RC:$src2, VTI.RC:$src3)),
11880 defm m : AVX512_maskable_3src<Op, MRMSrcMem, VTI, (outs VTI.RC:$dst),
11881 (ins VTI.RC:$src2, VTI.MemOp:$src3), OpStr,
11883 (VTI.VT (OpNode VTI.RC:$src1, VTI.RC:$src2,
11884 (VTI.VT (VTI.LdFrag addr:$src3))))>,
11887 defm mb : AVX512_maskable_3src<Op, MRMSrcMem, VTI, (outs VTI.RC:$dst),
11888 (ins VTI.RC:$src2, VTI.ScalarMemOp:$src3),
11889 OpStr, "${src3}"#VTI.BroadcastStr#", $src2",
11890 "$src2, ${src3}"#VTI.BroadcastStr,
11891 (OpNode VTI.RC:$src1, VTI.RC:$src2,
11892 (VTI.VT (VTI.BroadcastLdFrag addr:$src3)))>,
11964 multiclass VPSHUFBITQMB_rm<X86FoldableSchedWrite sched, X86VectorVTInfo VTI> {
11965 defm rr : AVX512_maskable_cmp<0x8F, MRMSrcReg, VTI, (outs VTI.KRC:$dst),
11966 (ins VTI.RC:$src1, VTI.RC:$src2),
11969 (X86Vpshufbitqmb (VTI.VT VTI.RC:$src1),
11970 (VTI.VT VTI.RC:$src2)),
11971 (X86Vpshufbitqmb_su (VTI.VT VTI.RC:$src1),
11972 (VTI.VT VTI.RC:$src2))>, EVEX_4V, T8PD,
11974 defm rm : AVX512_maskable_cmp<0x8F, MRMSrcMem, VTI, (outs VTI.KRC:$dst),
11975 (ins VTI.RC:$src1, VTI.MemOp:$src2),
11978 (X86Vpshufbitqmb (VTI.VT VTI.RC:$src1),
11979 (VTI.VT (VTI.LdFrag addr:$src2))),
11980 (X86Vpshufbitqmb_su (VTI.VT VTI.RC:$src1),
11981 (VTI.VT (VTI.LdFrag addr:$src2)))>,
11986 multiclass VPSHUFBITQMB_common<X86SchedWriteWidths sched, AVX512VLVectorVTInfo VTI> {
11988 defm Z : VPSHUFBITQMB_rm<sched.ZMM, VTI.info512>, EVEX_V512;
11990 defm Z256 : VPSHUFBITQMB_rm<sched.YMM, VTI.info256>, EVEX_V256;
11991 defm Z128 : VPSHUFBITQMB_rm<sched.XMM, VTI.info128>, EVEX_V128;
12020 X86FoldableSchedWrite sched, X86VectorVTInfo VTI,
12022 : avx512_3Op_rm_imm8<Op, OpStr, OpNode, sched, VTI, VTI> {
12023 let ExeDomain = VTI.ExeDomain in
12024 defm rmbi : AVX512_maskable<Op, MRMSrcMem, VTI, (outs VTI.RC:$dst),
12025 (ins VTI.RC:$src1, VTI.ScalarMemOp:$src2, u8imm:$src3),
12028 (OpNode (VTI.VT VTI.RC:$src1),