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:
|