diff options
Diffstat (limited to 'lib/Target/Hexagon/HexagonISelDAGToDAG.h')
-rw-r--r-- | lib/Target/Hexagon/HexagonISelDAGToDAG.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/Target/Hexagon/HexagonISelDAGToDAG.h b/lib/Target/Hexagon/HexagonISelDAGToDAG.h index fc66940ee52d..f4f09dd4e758 100644 --- a/lib/Target/Hexagon/HexagonISelDAGToDAG.h +++ b/lib/Target/Hexagon/HexagonISelDAGToDAG.h @@ -90,6 +90,8 @@ public: unsigned ConstraintID, std::vector<SDValue> &OutOps) override; bool tryLoadOfLoadIntrinsic(LoadSDNode *N); + bool SelectBrevLdIntrinsic(SDNode *IntN); + bool SelectNewCircIntrinsic(SDNode *IntN); void SelectLoad(SDNode *N); void SelectIndexedLoad(LoadSDNode *LD, const SDLoc &dl); void SelectIndexedStore(StoreSDNode *ST, const SDLoc &dl); @@ -100,10 +102,17 @@ public: void SelectIntrinsicWOChain(SDNode *N); void SelectConstant(SDNode *N); void SelectConstantFP(SDNode *N); - void SelectBitcast(SDNode *N); void SelectV65Gather(SDNode *N); void SelectV65GatherPred(SDNode *N); void SelectHVXDualOutput(SDNode *N); + void SelectAddSubCarry(SDNode *N); + void SelectVAlign(SDNode *N); + void SelectVAlignAddr(SDNode *N); + void SelectTypecast(SDNode *N); + void SelectP2D(SDNode *N); + void SelectD2P(SDNode *N); + void SelectQ2V(SDNode *N); + void SelectV2Q(SDNode *N); // Include the declarations autogenerated from the selection patterns. #define GET_DAGISEL_DECL @@ -122,6 +131,7 @@ private: void SelectHvxShuffle(SDNode *N); void SelectHvxRor(SDNode *N); + void SelectHvxVAlign(SDNode *N); bool keepsLowBits(const SDValue &Val, unsigned NumBits, SDValue &Src); bool isAlignedMemNode(const MemSDNode *N) const; |