equal
deleted
inserted
replaced
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 { |