Lines Matching refs:ExtKind
14240 enum ExtKind : uint8_t { ZExt = 1 << 0, SExt = 1 << 1, FPExt = 1 << 2 };
14305 unsigned getExtOpc(ExtKind SupportsExt) const {
14307 case ExtKind::SExt:
14309 case ExtKind::ZExt:
14311 case ExtKind::FPExt:
14314 llvm_unreachable("Unknown ExtKind enum");
14322 std::optional<ExtKind> SupportsExt) const {
14369 static MVT getNarrowType(const SDNode *Root, ExtKind SupportsExt) {
14375 MVT EltVT = SupportsExt == ExtKind::FPExt
14379 assert((int)NarrowSize >= (SupportsExt == ExtKind::FPExt ? 16 : 8) &&
14461 static unsigned getWOpcode(unsigned Opcode, ExtKind SupportsExt) {
14466 return SupportsExt == ExtKind::SExt ? RISCVISD::VWADD_W_VL
14470 return SupportsExt == ExtKind::SExt ? RISCVISD::VWSUB_W_VL
14750 std::optional<ExtKind> LHSExt;
14751 std::optional<ExtKind> RHSExt;
14760 const NodeExtensionHelper &LHS, std::optional<ExtKind> LHSExt,
14761 const NodeExtensionHelper &RHS, std::optional<ExtKind> RHSExt)
14807 if ((AllowExtMask & ExtKind::ZExt) && LHS.SupportsZExt && RHS.SupportsZExt)
14809 Root, LHS, /*LHSExt=*/{ExtKind::ZExt}, RHS,
14810 /*RHSExt=*/{ExtKind::ZExt});
14811 if ((AllowExtMask & ExtKind::SExt) && LHS.SupportsSExt && RHS.SupportsSExt)
14813 Root, LHS, /*LHSExt=*/{ExtKind::SExt}, RHS,
14814 /*RHSExt=*/{ExtKind::SExt});
14815 if ((AllowExtMask & ExtKind::FPExt) && LHS.SupportsFPExt && RHS.SupportsFPExt)
14817 Root, LHS, /*LHSExt=*/{ExtKind::FPExt}, RHS,
14818 /*RHSExt=*/{ExtKind::FPExt});
14833 Root, LHS, RHS, ExtKind::ZExt | ExtKind::SExt | ExtKind::FPExt, DAG,
14847 NodeExtensionHelper::getWOpcode(Root->getOpcode(), ExtKind::FPExt),
14848 Root, LHS, /*LHSExt=*/std::nullopt, RHS, /*RHSExt=*/{ExtKind::FPExt});
14856 NodeExtensionHelper::getWOpcode(Root->getOpcode(), ExtKind::ZExt), Root,
14857 LHS, /*LHSExt=*/std::nullopt, RHS, /*RHSExt=*/{ExtKind::ZExt});
14860 NodeExtensionHelper::getWOpcode(Root->getOpcode(), ExtKind::SExt), Root,
14861 LHS, /*LHSExt=*/std::nullopt, RHS, /*RHSExt=*/{ExtKind::SExt});
14873 return canFoldToVWWithSameExtensionImpl(Root, LHS, RHS, ExtKind::SExt, DAG,
14885 return canFoldToVWWithSameExtensionImpl(Root, LHS, RHS, ExtKind::ZExt, DAG,
14897 return canFoldToVWWithSameExtensionImpl(Root, LHS, RHS, ExtKind::FPExt, DAG,
14913 Root, LHS, /*LHSExt=*/{ExtKind::SExt}, RHS,
14914 /*RHSExt=*/{ExtKind::ZExt});