< prev index next >

src/hotspot/share/opto/convertnode.hpp

Print this page
rev 47825 : Support vectorization of sqrt for float


  34 class Conv2BNode : public Node {
  35   public:
  36   Conv2BNode( Node *i ) : Node(0,i) {}
  37   virtual int Opcode() const;
  38   virtual const Type *bottom_type() const { return TypeInt::BOOL; }
  39   virtual Node* Identity(PhaseGVN* phase);
  40   virtual const Type* Value(PhaseGVN* phase) const;
  41   virtual uint  ideal_reg() const { return Op_RegI; }
  42 };
  43 
  44 // The conversions operations are all Alpha sorted.  Please keep it that way!
  45 //------------------------------ConvD2FNode------------------------------------
  46 // Convert double to float
  47 class ConvD2FNode : public Node {
  48   public:
  49   ConvD2FNode( Node *in1 ) : Node(0,in1) {}
  50   virtual int Opcode() const;
  51   virtual const Type *bottom_type() const { return Type::FLOAT; }
  52   virtual const Type* Value(PhaseGVN* phase) const;
  53   virtual Node* Identity(PhaseGVN* phase);

  54   virtual uint  ideal_reg() const { return Op_RegF; }
  55 };
  56 
  57 //------------------------------ConvD2INode------------------------------------
  58 // Convert Double to Integer
  59 class ConvD2INode : public Node {
  60   public:
  61   ConvD2INode( Node *in1 ) : Node(0,in1) {}
  62   virtual int Opcode() const;
  63   virtual const Type *bottom_type() const { return TypeInt::INT; }
  64   virtual const Type* Value(PhaseGVN* phase) const;
  65   virtual Node* Identity(PhaseGVN* phase);
  66   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
  67   virtual uint  ideal_reg() const { return Op_RegI; }
  68 };
  69 
  70 //------------------------------ConvD2LNode------------------------------------
  71 // Convert Double to Long
  72 class ConvD2LNode : public Node {
  73   public:




  34 class Conv2BNode : public Node {
  35   public:
  36   Conv2BNode( Node *i ) : Node(0,i) {}
  37   virtual int Opcode() const;
  38   virtual const Type *bottom_type() const { return TypeInt::BOOL; }
  39   virtual Node* Identity(PhaseGVN* phase);
  40   virtual const Type* Value(PhaseGVN* phase) const;
  41   virtual uint  ideal_reg() const { return Op_RegI; }
  42 };
  43 
  44 // The conversions operations are all Alpha sorted.  Please keep it that way!
  45 //------------------------------ConvD2FNode------------------------------------
  46 // Convert double to float
  47 class ConvD2FNode : public Node {
  48   public:
  49   ConvD2FNode( Node *in1 ) : Node(0,in1) {}
  50   virtual int Opcode() const;
  51   virtual const Type *bottom_type() const { return Type::FLOAT; }
  52   virtual const Type* Value(PhaseGVN* phase) const;
  53   virtual Node* Identity(PhaseGVN* phase);
  54   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
  55   virtual uint  ideal_reg() const { return Op_RegF; }
  56 };
  57 
  58 //------------------------------ConvD2INode------------------------------------
  59 // Convert Double to Integer
  60 class ConvD2INode : public Node {
  61   public:
  62   ConvD2INode( Node *in1 ) : Node(0,in1) {}
  63   virtual int Opcode() const;
  64   virtual const Type *bottom_type() const { return TypeInt::INT; }
  65   virtual const Type* Value(PhaseGVN* phase) const;
  66   virtual Node* Identity(PhaseGVN* phase);
  67   virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
  68   virtual uint  ideal_reg() const { return Op_RegI; }
  69 };
  70 
  71 //------------------------------ConvD2LNode------------------------------------
  72 // Convert Double to Long
  73 class ConvD2LNode : public Node {
  74   public:


< prev index next >