Lines Matching refs:vop
625 class VPatBinaryVL_V<SDPatternOperator vop,
638 : Pat<(result_type (vop
653 multiclass VPatBinaryRM_VL_V<SDNode vop,
665 def : Pat<(result_type (vop
681 class VPatBinaryVL_V_RM<SDPatternOperator vop,
694 : Pat<(result_type (vop
713 multiclass VPatTiedBinaryNoMaskVL_V<SDNode vop,
722 def : Pat<(result_type (vop
734 (result_type (vop
747 class VPatTiedBinaryMaskVL_V<SDNode vop,
757 Pat<(result_type (vop
768 multiclass VPatTiedBinaryNoMaskVL_V_RM<SDNode vop,
781 def : Pat<(result_type (vop
796 (result_type (vop
812 class VPatBinaryVL_XI<SDPatternOperator vop,
826 : Pat<(result_type (vop
841 multiclass VPatBinaryRM_VL_XI<SDNode vop,
854 def : Pat<(result_type (vop
870 multiclass VPatBinaryVL_VV_VX<SDPatternOperator vop, string instruction_name,
875 def : VPatBinaryVL_V<vop, instruction_name, "VV",
879 def : VPatBinaryVL_XI<vop, instruction_name, "VX",
887 multiclass VPatBinaryVL_VV_VX_VI<SDPatternOperator vop, string instruction_name,
889 : VPatBinaryVL_VV_VX<vop, instruction_name> {
892 def : VPatBinaryVL_XI<vop, instruction_name, "VI",
900 multiclass VPatBinaryWVL_VV_VX<SDPatternOperator vop, string instruction_name> {
906 def : VPatBinaryVL_V<vop, instruction_name, "VV",
910 def : VPatBinaryVL_XI<vop, instruction_name, "VX",
918 multiclass VPatBinaryWVL_VV_VX_WV_WX<SDPatternOperator vop, SDNode vop_w,
920 : VPatBinaryWVL_VV_VX<vop, instruction_name> {
945 multiclass VPatBinaryNVL_WV_WX_WI<SDPatternOperator vop, string instruction_name> {
951 def : VPatBinaryVL_V<vop, instruction_name, "WV",
955 def : VPatBinaryVL_XI<vop, instruction_name, "WX",
959 def : VPatBinaryVL_XI<vop, instruction_name, "WI",
968 multiclass VPatBinaryRM_NVL_WV_WX_WI<SDNode vop, string instruction_name> {
972 defm : VPatBinaryRM_VL_V<vop, instruction_name, "WV",
975 defm : VPatBinaryRM_VL_XI<vop, instruction_name, "WX",
978 defm : VPatBinaryRM_VL_XI<vop, instruction_name, "WI",
986 class VPatBinaryVL_VF<SDPatternOperator vop,
998 : Pat<(result_type (vop (vop1_type vop_reg_class:$rs1),
1012 class VPatBinaryVL_VF_RM<SDPatternOperator vop,
1024 : Pat<(result_type (vop (vop1_type vop_reg_class:$rs1),
1042 multiclass VPatBinaryFPVL_VV_VF<SDPatternOperator vop, string instruction_name,
1046 def : VPatBinaryVL_V<vop, instruction_name, "VV",
1050 def : VPatBinaryVL_VF<vop, instruction_name#"_V"#vti.ScalarSuffix,
1058 multiclass VPatBinaryFPVL_VV_VF_RM<SDPatternOperator vop, string instruction_name,
1062 def : VPatBinaryVL_V_RM<vop, instruction_name, "VV",
1066 def : VPatBinaryVL_VF_RM<vop, instruction_name#"_V"#vti.ScalarSuffix,
1074 multiclass VPatBinaryFPVL_R_VF<SDPatternOperator vop, string instruction_name,
1078 def : Pat<(fvti.Vector (vop (SplatFPOp fvti.ScalarRegClass:$rs2),
1093 multiclass VPatBinaryFPVL_R_VF_RM<SDPatternOperator vop, string instruction_name,
1097 def : Pat<(fvti.Vector (vop (SplatFPOp fvti.ScalarRegClass:$rs2),
1211 multiclass VPatFPSetCCVL_VV_VF_FV<SDPatternOperator vop, CondCode cc,
1216 def : Pat<(fvti.Mask (vop (fvti.Vector fvti.RegClass:$rs1),
1226 def : Pat<(fvti.Mask (vop (fvti.Vector fvti.RegClass:$rs1),
1236 def : Pat<(fvti.Mask (vop (SplatFPOp fvti.ScalarRegClass:$rs2),
1250 multiclass VPatExtendVL_V<SDNode vop, string inst_name, string suffix,
1257 def : Pat<(vti.Vector (vop (fti.Vector fti.RegClass:$rs2),
1268 multiclass VPatConvertFP2IVL_V<SDPatternOperator vop, string instruction_name> {
1273 def : Pat<(ivti.Vector (vop (fvti.Vector fvti.RegClass:$rs1),
1282 multiclass VPatConvertFP2IVL_V_RM<SDPatternOperator vop, string instruction_name> {
1287 def : Pat<(ivti.Vector (vop (fvti.Vector fvti.RegClass:$rs1),
1301 multiclass VPatConvertFP2I_RM_VL_V<SDPatternOperator vop, string instruction_name> {
1306 def : Pat<(ivti.Vector (vop (fvti.Vector fvti.RegClass:$rs1),
1316 multiclass VPatConvertI2FPVL_V_RM<SDPatternOperator vop, string instruction_name> {
1321 def : Pat<(fvti.Vector (vop (ivti.Vector ivti.RegClass:$rs1),
1334 multiclass VPatConvertI2FP_RM_VL_V<SDNode vop, string instruction_name> {
1339 def : Pat<(fvti.Vector (vop (ivti.Vector ivti.RegClass:$rs1),
1350 multiclass VPatWConvertFP2IVL_V<SDPatternOperator vop, string instruction_name> {
1356 def : Pat<(iwti.Vector (vop (fvti.Vector fvti.RegClass:$rs1),
1365 multiclass VPatWConvertFP2IVL_V_RM<SDPatternOperator vop, string instruction_name> {
1371 def : Pat<(iwti.Vector (vop (fvti.Vector fvti.RegClass:$rs1),
1385 multiclass VPatWConvertFP2I_RM_VL_V<SDNode vop, string instruction_name> {
1391 def : Pat<(iwti.Vector (vop (fvti.Vector fvti.RegClass:$rs1),
1400 multiclass VPatWConvertI2FPVL_V<SDPatternOperator vop,
1407 def : Pat<(fwti.Vector (vop (ivti.Vector ivti.RegClass:$rs1),
1419 multiclass VPatNConvertFP2IVL_W<SDPatternOperator vop,
1428 def : Pat<(vti.Vector (vop (fwti.Vector fwti.RegClass:$rs1),
1437 multiclass VPatNConvertFP2IVL_W_RM<SDPatternOperator vop,
1446 def : Pat<(vti.Vector (vop (fwti.Vector fwti.RegClass:$rs1),
1459 multiclass VPatNConvertFP2I_RM_VL_W<SDNode vop, string instruction_name> {
1465 def : Pat<(vti.Vector (vop (fwti.Vector fwti.RegClass:$rs1),
1474 multiclass VPatNConvertI2FPVL_W_RM<SDPatternOperator vop,
1481 def : Pat<(fvti.Vector (vop (iwti.Vector iwti.RegClass:$rs1),
1494 multiclass VPatNConvertI2FP_RM_VL_W<SDNode vop, string instruction_name> {
1500 def : Pat<(fvti.Vector (vop (iwti.Vector iwti.RegClass:$rs1),
1509 multiclass VPatReductionVL<SDNode vop, string instruction_name, bit is_float> {
1513 def: Pat<(vti_m1.Vector (vop (vti_m1.Vector VR:$merge),
1526 multiclass VPatReductionVL_RM<SDNode vop, string instruction_name, bit is_float> {
1530 def: Pat<(vti_m1.Vector (vop (vti_m1.Vector VR:$merge),
1588 multiclass VPatWidenReductionVL<SDNode vop, PatFrags extop, string instruction_name, bit is_float> {
1595 def: Pat<(wti_m1.Vector (vop (wti_m1.Vector VR:$merge),
1607 multiclass VPatWidenReductionVL_RM<SDNode vop, PatFrags extop, string instruction_name, bit is_floa…
1614 def: Pat<(wti_m1.Vector (vop (wti_m1.Vector VR:$merge),
1630 multiclass VPatWidenReductionVL_Ext_VL<SDNode vop, PatFrags extop, string instruction_name, bit is_…
1637 def: Pat<(wti_m1.Vector (vop (wti_m1.Vector VR:$merge),
1649 multiclass VPatWidenReductionVL_Ext_VL_RM<SDNode vop, PatFrags extop, string instruction_name, bit …
1656 def: Pat<(wti_m1.Vector (vop (wti_m1.Vector VR:$merge),
1672 multiclass VPatBinaryFPWVL_VV_VF<SDNode vop, string instruction_name> {
1678 def : VPatBinaryVL_V<vop, instruction_name, "VV",
1682 def : VPatBinaryVL_VF<vop, instruction_name#"_V"#vti.ScalarSuffix,
1690 multiclass VPatBinaryFPWVL_VV_VF_RM<SDNode vop, string instruction_name,
1697 def : VPatBinaryVL_V_RM<vop, instruction_name, "VV",
1701 def : VPatBinaryVL_VF_RM<vop, instruction_name#"_V"#vti.ScalarSuffix,
1709 multiclass VPatBinaryFPWVL_VV_VF_WV_WF<SDNode vop, SDNode vop_w, string instruction_name>
1710 : VPatBinaryFPWVL_VV_VF<vop, instruction_name> {
1732 SDNode vop, SDNode vop_w, string instruction_name, bit isSEWAware = 0>
1733 : VPatBinaryFPWVL_VV_VF_RM<vop, instruction_name, isSEWAware> {
1921 multiclass VPatFPMulAddVL_VV_VF<SDPatternOperator vop, string instruction_name> {
1925 def : Pat<(vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rd,
1932 def : Pat<(vti.Vector (vop (SplatFPOp vti.ScalarRegClass:$rs1),
1943 multiclass VPatFPMulAddVL_VV_VF_RM<SDPatternOperator vop, string instruction_name> {
1947 def : Pat<(vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rd,
1958 def : Pat<(vti.Vector (vop (SplatFPOp vti.ScalarRegClass:$rs1),
1973 multiclass VPatFPMulAccVL_VV_VF<PatFrag vop, string instruction_name> {
1978 (vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rs2,
1985 (vti.Vector (vop (SplatFPOp vti.ScalarRegClass:$rs1), vti.RegClass:$rs2,
1992 (vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rs2,
1999 (vti.Vector (vop (SplatFPOp vti.ScalarRegClass:$rs1), vti.RegClass:$rs2,
2009 multiclass VPatFPMulAccVL_VV_VF_RM<PatFrag vop, string instruction_name> {
2014 (vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rs2,
2025 (vti.Vector (vop (SplatFPOp vti.ScalarRegClass:$rs1), vti.RegClass:$rs2,
2036 (vti.Vector (vop vti.RegClass:$rs1, vti.RegClass:$rs2,
2047 (vti.Vector (vop (SplatFPOp vti.ScalarRegClass:$rs1), vti.RegClass:$rs2,
2061 multiclass VPatWidenFPMulAccVL_VV_VF<SDNode vop, string instruction_name> {
2067 def : Pat<(vop (vti.Vector vti.RegClass:$rs1),
2074 def : Pat<(vop (vti.Vector (SplatFPOp vti.ScalarRegClass:$rs1)),
2085 multiclass VPatWidenFPMulAccVL_VV_VF_RM<SDNode vop, string instruction_name> {
2092 def : Pat<(vop (vti.Vector vti.RegClass:$rs1),
2103 def : Pat<(vop (vti.Vector (SplatFPOp vti.ScalarRegClass:$rs1)),
2118 multiclass VPatSlideVL_VX_VI<SDNode vop, string instruction_name> {
2122 def : Pat<(vti.Vector (vop (vti.Vector vti.RegClass:$rd),
2131 def : Pat<(vti.Vector (vop (vti.Vector vti.RegClass:$rd),
2143 multiclass VPatSlide1VL_VX<SDNode vop, string instruction_name> {
2146 def : Pat<(vti.Vector (vop (vti.Vector vti.RegClass:$rs3),
2156 multiclass VPatSlide1VL_VF<SDNode vop, string instruction_name> {
2159 def : Pat<(vti.Vector (vop (vti.Vector vti.RegClass:$rs3),
2169 multiclass VPatAVGADDVL_VV_VX_RM<SDNode vop, int vxrm, string suffix = ""> {
2172 def : Pat<(vop (vti.Vector vti.RegClass:$rs1),
2178 def : Pat<(vop (vti.Vector vti.RegClass:$rs1),