src/share/vm/opto/vectornode.hpp

changeset 3040
c7b60b601eb4
parent 2727
08eb13460b3a
child 3882
8c92982cbbc4
equal deleted inserted replaced
3039:0f34fdee809e 3040:c7b60b601eb4
45 public: 45 public:
46 friend class VectorLoadNode; // For vect_type 46 friend class VectorLoadNode; // For vect_type
47 friend class VectorStoreNode; // ditto. 47 friend class VectorStoreNode; // ditto.
48 48
49 VectorNode(Node* n1, uint vlen) : Node(NULL, n1), _length(vlen) { 49 VectorNode(Node* n1, uint vlen) : Node(NULL, n1), _length(vlen) {
50 init_flags(Flag_is_Vector); 50 init_class_id(Class_Vector);
51 } 51 }
52 VectorNode(Node* n1, Node* n2, uint vlen) : Node(NULL, n1, n2), _length(vlen) { 52 VectorNode(Node* n1, Node* n2, uint vlen) : Node(NULL, n1, n2), _length(vlen) {
53 init_flags(Flag_is_Vector); 53 init_class_id(Class_Vector);
54 } 54 }
55 virtual int Opcode() const; 55 virtual int Opcode() const;
56 56
57 uint length() const { return _length; } // Vector length 57 uint length() const { return _length; } // Vector length
58 58
387 } 387 }
388 388
389 public: 389 public:
390 VectorLoadNode(Node* c, Node* mem, Node* adr, const TypePtr* at, const Type *rt) 390 VectorLoadNode(Node* c, Node* mem, Node* adr, const TypePtr* at, const Type *rt)
391 : LoadNode(c,mem,adr,at,rt) { 391 : LoadNode(c,mem,adr,at,rt) {
392 init_flags(Flag_is_Vector); 392 init_class_id(Class_VectorLoad);
393 } 393 }
394 virtual int Opcode() const; 394 virtual int Opcode() const;
395 395
396 virtual uint length() const = 0; // Vector length 396 virtual uint length() const = 0; // Vector length
397 397
615 virtual BasicType elt_basic_type() const = 0; // Vector element basic type 615 virtual BasicType elt_basic_type() const = 0; // Vector element basic type
616 616
617 public: 617 public:
618 VectorStoreNode(Node* c, Node* mem, Node* adr, const TypePtr* at, Node* val) 618 VectorStoreNode(Node* c, Node* mem, Node* adr, const TypePtr* at, Node* val)
619 : StoreNode(c,mem,adr,at,val) { 619 : StoreNode(c,mem,adr,at,val) {
620 init_flags(Flag_is_Vector); 620 init_class_id(Class_VectorStore);
621 } 621 }
622 virtual int Opcode() const; 622 virtual int Opcode() const;
623 623
624 virtual uint length() const = 0; // Vector length 624 virtual uint length() const = 0; // Vector length
625 625
633 633
634 // Vector opcode from scalar opcode 634 // Vector opcode from scalar opcode
635 static int opcode(int sopc, uint vlen); 635 static int opcode(int sopc, uint vlen);
636 636
637 static VectorStoreNode* make(Compile* C, int opc, Node* ctl, Node* mem, 637 static VectorStoreNode* make(Compile* C, int opc, Node* ctl, Node* mem,
638 Node* adr, const TypePtr* atyp, VectorNode* val, 638 Node* adr, const TypePtr* atyp, Node* val,
639 uint vlen); 639 uint vlen);
640 }; 640 };
641 641
642 //------------------------------Store16BNode-------------------------------------- 642 //------------------------------Store16BNode--------------------------------------
643 // Vector store of 16 bytes (8bits signed) to memory 643 // Vector store of 16 bytes (8bits signed) to memory

mercurial