@@ -2870,23 +2870,29 @@ multiclass VPseudoVMRG_VM_XM_IM {
2870
2870
2871
2871
def "_VVM" # "_" # m.MX :
2872
2872
VPseudoBinaryCarryIn<GetVRegNoV0<m.vrclass>.R,
2873
- m.vrclass, m.vrclass, m, 1, "">;
2873
+ m.vrclass, m.vrclass, m, 1, "">,
2874
+ Sched<[WriteVIMergeV_MX, ReadVIMergeV_MX, ReadVIMergeV_MX, ReadVMask]>;
2874
2875
def "_VXM" # "_" # m.MX :
2875
2876
VPseudoBinaryCarryIn<GetVRegNoV0<m.vrclass>.R,
2876
- m.vrclass, GPR, m, 1, "">;
2877
+ m.vrclass, GPR, m, 1, "">,
2878
+ Sched<[WriteVIMergeX_MX, ReadVIMergeV_MX, ReadVIMergeX_MX, ReadVMask]>;
2877
2879
def "_VIM" # "_" # m.MX :
2878
2880
VPseudoBinaryCarryIn<GetVRegNoV0<m.vrclass>.R,
2879
- m.vrclass, simm5, m, 1, "">;
2881
+ m.vrclass, simm5, m, 1, "">,
2882
+ Sched<[WriteVIMergeI_MX, ReadVIMergeV_MX, ReadVMask]>;
2880
2883
// Tied versions to allow codegen control over the tail elements
2881
2884
def "_VVM" # "_" # m.MX # "_TU" :
2882
2885
VPseudoTiedBinaryCarryIn<GetVRegNoV0<m.vrclass>.R,
2883
- m.vrclass, m.vrclass, m, 1, "">;
2886
+ m.vrclass, m.vrclass, m, 1, "">,
2887
+ Sched<[WriteVIMergeV_MX, ReadVIMergeV_MX, ReadVIMergeV_MX, ReadVMask]>;
2884
2888
def "_VXM" # "_" # m.MX # "_TU":
2885
2889
VPseudoTiedBinaryCarryIn<GetVRegNoV0<m.vrclass>.R,
2886
- m.vrclass, GPR, m, 1, "">;
2890
+ m.vrclass, GPR, m, 1, "">,
2891
+ Sched<[WriteVIMergeX_MX, ReadVIMergeV_MX, ReadVIMergeX_MX, ReadVMask]>;
2887
2892
def "_VIM" # "_" # m.MX # "_TU":
2888
2893
VPseudoTiedBinaryCarryIn<GetVRegNoV0<m.vrclass>.R,
2889
- m.vrclass, simm5, m, 1, "">;
2894
+ m.vrclass, simm5, m, 1, "">,
2895
+ Sched<[WriteVIMergeI_MX, ReadVIMergeV_MX, ReadVMask]>;
2890
2896
}
2891
2897
}
2892
2898
0 commit comments