< prev index next >

src/share/vm/opto/subnode.hpp

Print this page




 456 //-------------------------------ReverseBytesUSNode--------------------------------
 457 // reverse bytes of an unsigned short / char
 458 class ReverseBytesUSNode : public Node {
 459 public:
 460   ReverseBytesUSNode(Node *c, Node *in1) : Node(c, in1) {}
 461   virtual int Opcode() const;
 462   const Type *bottom_type() const { return TypeInt::CHAR; }
 463   virtual uint ideal_reg() const { return Op_RegI; }
 464 };
 465 
 466 //-------------------------------ReverseBytesSNode--------------------------------
 467 // reverse bytes of a short
 468 class ReverseBytesSNode : public Node {
 469 public:
 470   ReverseBytesSNode(Node *c, Node *in1) : Node(c, in1) {}
 471   virtual int Opcode() const;
 472   const Type *bottom_type() const { return TypeInt::SHORT; }
 473   virtual uint ideal_reg() const { return Op_RegI; }
 474 };
 475 
























 476 #endif // SHARE_VM_OPTO_SUBNODE_HPP


 456 //-------------------------------ReverseBytesUSNode--------------------------------
 457 // reverse bytes of an unsigned short / char
 458 class ReverseBytesUSNode : public Node {
 459 public:
 460   ReverseBytesUSNode(Node *c, Node *in1) : Node(c, in1) {}
 461   virtual int Opcode() const;
 462   const Type *bottom_type() const { return TypeInt::CHAR; }
 463   virtual uint ideal_reg() const { return Op_RegI; }
 464 };
 465 
 466 //-------------------------------ReverseBytesSNode--------------------------------
 467 // reverse bytes of a short
 468 class ReverseBytesSNode : public Node {
 469 public:
 470   ReverseBytesSNode(Node *c, Node *in1) : Node(c, in1) {}
 471   virtual int Opcode() const;
 472   const Type *bottom_type() const { return TypeInt::SHORT; }
 473   virtual uint ideal_reg() const { return Op_RegI; }
 474 };
 475 
 476 //------------------------------FmaDNode--------------------------------------
 477 // fused-multiply-add double
 478 class FmaDNode : public Node {
 479 public:
 480   FmaDNode(Node *c, Node *in1, Node *in2, Node *in3) : Node(c, in1, in2, in3) {}
 481   virtual int Opcode() const;
 482   const Type *bottom_type() const { return Type::DOUBLE; }
 483   virtual uint match_edge(uint idx) const;
 484   virtual uint ideal_reg() const { return Op_RegD; }
 485   virtual const Type* Value(PhaseGVN* phase) const;
 486 };
 487 
 488 //------------------------------FmaFNode--------------------------------------
 489 // fused-multiply-add float
 490 class FmaFNode : public Node {
 491 public:
 492   FmaFNode(Node *c, Node *in1, Node *in2, Node *in3) : Node(c, in1, in2, in3) {}
 493   virtual int Opcode() const;
 494   const Type *bottom_type() const { return Type::FLOAT; }
 495   virtual uint match_edge(uint idx) const;
 496   virtual uint ideal_reg() const { return Op_RegF; }
 497   virtual const Type* Value(PhaseGVN* phase) const;
 498 };
 499 
 500 #endif // SHARE_VM_OPTO_SUBNODE_HPP
< prev index next >