hotspot/src/share/vm/opto/mulnode.hpp
changeset 392 0b3167e2f2de
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
equal deleted inserted replaced
379:10767ca40189 392:0b3167e2f2de
   131   int mul_opcode() const { return Op_MulD; }
   131   int mul_opcode() const { return Op_MulD; }
   132   const Type *bottom_type() const { return Type::DOUBLE; }
   132   const Type *bottom_type() const { return Type::DOUBLE; }
   133   virtual uint ideal_reg() const { return Op_RegD; }
   133   virtual uint ideal_reg() const { return Op_RegD; }
   134 };
   134 };
   135 
   135 
       
   136 //-------------------------------MulHiLNode------------------------------------
       
   137 // Upper 64 bits of a 64 bit by 64 bit multiply
       
   138 class MulHiLNode : public Node {
       
   139 public:
       
   140   MulHiLNode( Node *in1, Node *in2 ) : Node(0,in1,in2) {}
       
   141   virtual int Opcode() const;
       
   142   virtual const Type *Value( PhaseTransform *phase ) const;
       
   143   const Type *bottom_type() const { return TypeLong::LONG; }
       
   144   virtual uint ideal_reg() const { return Op_RegL; }
       
   145 };
   136 
   146 
   137 //------------------------------AndINode---------------------------------------
   147 //------------------------------AndINode---------------------------------------
   138 // Logically AND 2 integers.  Included with the MUL nodes because it inherits
   148 // Logically AND 2 integers.  Included with the MUL nodes because it inherits
   139 // all the behavior of multiplication on a ring.
   149 // all the behavior of multiplication on a ring.
   140 class AndINode : public MulINode {
   150 class AndINode : public MulINode {