< prev index next >

src/share/vm/opto/vectornode.hpp

Print this page

        

*** 88,97 **** --- 88,121 ---- public: AddVINode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {} virtual int Opcode() const; }; + //------------------------------AddVLNode-------------------------------------- + // Vector add long + class AddVLNode : public VectorNode { + public: + AddVLNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1, in2, vt) {} + virtual int Opcode() const; + }; + + //------------------------------AddVFNode-------------------------------------- + // Vector add float + class AddVFNode : public VectorNode { + public: + AddVFNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1, in2, vt) {} + virtual int Opcode() const; + }; + + //------------------------------AddVDNode-------------------------------------- + // Vector add double + class AddVDNode : public VectorNode { + public: + AddVDNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1, in2, vt) {} + virtual int Opcode() const; + }; + //------------------------------ReductionNode------------------------------------ // Perform reduction of a vector class ReductionNode : public Node { public: ReductionNode(Node *ctrl, Node* in1, Node* in2) : Node(ctrl, in1, in2) {}
*** 119,162 **** virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeLong::LONG; } virtual uint ideal_reg() const { return Op_RegL; } }; - //------------------------------AddVLNode-------------------------------------- - // Vector add long - class AddVLNode : public VectorNode { - public: - AddVLNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {} - virtual int Opcode() const; - }; - - //------------------------------AddVFNode-------------------------------------- - // Vector add float - class AddVFNode : public VectorNode { - public: - AddVFNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {} - virtual int Opcode() const; - }; - //------------------------------AddReductionVFNode-------------------------------------- // Vector add float as a reduction class AddReductionVFNode : public ReductionNode { public: AddReductionVFNode(Node *ctrl, Node* in1, Node* in2) : ReductionNode(ctrl, in1, in2) {} virtual int Opcode() const; virtual const Type* bottom_type() const { return Type::FLOAT; } virtual uint ideal_reg() const { return Op_RegF; } }; - //------------------------------AddVDNode-------------------------------------- - // Vector add double - class AddVDNode : public VectorNode { - public: - AddVDNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {} - virtual int Opcode() const; - }; - //------------------------------AddReductionVDNode-------------------------------------- // Vector add double as a reduction class AddReductionVDNode : public ReductionNode { public: AddReductionVDNode(Node *ctrl, Node* in1, Node* in2) : ReductionNode(ctrl, in1, in2) {} --- 143,162 ----
*** 227,252 **** public: MulVINode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {} virtual int Opcode() const; }; //------------------------------MulReductionVINode-------------------------------------- // Vector multiply int as a reduction class MulReductionVINode : public ReductionNode { public: MulReductionVINode(Node *ctrl, Node* in1, Node* in2) : ReductionNode(ctrl, in1, in2) {} virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeInt::INT; } virtual uint ideal_reg() const { return Op_RegI; } }; ! //------------------------------MulVFNode-------------------------------------- ! // Vector multiply float ! class MulVFNode : public VectorNode { ! public: ! MulVFNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {} virtual int Opcode() const; }; //------------------------------MulReductionVFNode-------------------------------------- // Vector multiply float as a reduction class MulReductionVFNode : public ReductionNode { --- 227,278 ---- public: MulVINode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {} virtual int Opcode() const; }; + //------------------------------MulVLNode-------------------------------------- + // Vector multiply long + class MulVLNode : public VectorNode { + public: + MulVLNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1, in2, vt) {} + virtual int Opcode() const; + }; + + //------------------------------MulVFNode-------------------------------------- + // Vector multiply float + class MulVFNode : public VectorNode { + public: + MulVFNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1, in2, vt) {} + virtual int Opcode() const; + }; + + //------------------------------MulVDNode-------------------------------------- + // Vector multiply double + class MulVDNode : public VectorNode { + public: + MulVDNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1, in2, vt) {} + virtual int Opcode() const; + }; + //------------------------------MulReductionVINode-------------------------------------- // Vector multiply int as a reduction class MulReductionVINode : public ReductionNode { public: MulReductionVINode(Node *ctrl, Node* in1, Node* in2) : ReductionNode(ctrl, in1, in2) {} virtual int Opcode() const; virtual const Type* bottom_type() const { return TypeInt::INT; } virtual uint ideal_reg() const { return Op_RegI; } }; ! //------------------------------MulReductionVLNode-------------------------------------- ! // Vector multiply int as a reduction ! class MulReductionVLNode : public ReductionNode { ! public: ! MulReductionVLNode(Node *ctrl, Node* in1, Node* in2) : ReductionNode(ctrl, in1, in2) {} virtual int Opcode() const; + virtual const Type* bottom_type() const { return TypeLong::LONG; } + virtual uint ideal_reg() const { return Op_RegI; } }; //------------------------------MulReductionVFNode-------------------------------------- // Vector multiply float as a reduction class MulReductionVFNode : public ReductionNode {
*** 255,272 **** virtual int Opcode() const; virtual const Type* bottom_type() const { return Type::FLOAT; } virtual uint ideal_reg() const { return Op_RegF; } }; - //------------------------------MulVDNode-------------------------------------- - // Vector multiply double - class MulVDNode : public VectorNode { - public: - MulVDNode(Node* in1, Node* in2, const TypeVect* vt) : VectorNode(in1,in2,vt) {} - virtual int Opcode() const; - }; - //------------------------------MulReductionVDNode-------------------------------------- // Vector multiply double as a reduction class MulReductionVDNode : public ReductionNode { public: MulReductionVDNode(Node *ctrl, Node* in1, Node* in2) : ReductionNode(ctrl, in1, in2) {} --- 281,290 ----
< prev index next >