531 //-------------------------------ReverseBytesUSNode--------------------------------
532 // reverse bytes of an unsigned short / char
533 class ReverseBytesUSNode : public Node {
534 public:
535 ReverseBytesUSNode(Node *c, Node *in1) : Node(c, in1) {}
536 virtual int Opcode() const;
537 const Type *bottom_type() const { return TypeInt::CHAR; }
538 virtual uint ideal_reg() const { return Op_RegI; }
539 };
540
541 //-------------------------------ReverseBytesSNode--------------------------------
542 // reverse bytes of a short
543 class ReverseBytesSNode : public Node {
544 public:
545 ReverseBytesSNode(Node *c, Node *in1) : Node(c, in1) {}
546 virtual int Opcode() const;
547 const Type *bottom_type() const { return TypeInt::SHORT; }
548 virtual uint ideal_reg() const { return Op_RegI; }
549 };
550
551 #endif // SHARE_OPTO_SUBNODE_HPP
|
531 //-------------------------------ReverseBytesUSNode--------------------------------
532 // reverse bytes of an unsigned short / char
533 class ReverseBytesUSNode : public Node {
534 public:
535 ReverseBytesUSNode(Node *c, Node *in1) : Node(c, in1) {}
536 virtual int Opcode() const;
537 const Type *bottom_type() const { return TypeInt::CHAR; }
538 virtual uint ideal_reg() const { return Op_RegI; }
539 };
540
541 //-------------------------------ReverseBytesSNode--------------------------------
542 // reverse bytes of a short
543 class ReverseBytesSNode : public Node {
544 public:
545 ReverseBytesSNode(Node *c, Node *in1) : Node(c, in1) {}
546 virtual int Opcode() const;
547 const Type *bottom_type() const { return TypeInt::SHORT; }
548 virtual uint ideal_reg() const { return Op_RegI; }
549 };
550
551 //-------------------------------ReverseINode--------------------------------
552 // reverse bits of an int
553 class ReverseINode : public Node {
554 public:
555 ReverseINode(Node *c, Node *in1) : Node(c, in1) {}
556 virtual int Opcode() const;
557 const Type *bottom_type() const { return TypeInt::INT; }
558 virtual uint ideal_reg() const { return Op_RegI; }
559 };
560
561 //-------------------------------ReverseLNode--------------------------------
562 // reverse bits of a long
563 class ReverseLNode : public Node {
564 public:
565 ReverseLNode(Node *c, Node *in1) : Node(c, in1) {}
566 virtual int Opcode() const;
567 const Type *bottom_type() const { return TypeLong::LONG; }
568 virtual uint ideal_reg() const { return Op_RegL; }
569 };
570
571 #endif // SHARE_OPTO_SUBNODE_HPP
|