equal
deleted
inserted
replaced
551 class LoadVectorNode : public LoadNode { |
551 class LoadVectorNode : public LoadNode { |
552 public: |
552 public: |
553 LoadVectorNode(Node* c, Node* mem, Node* adr, const TypePtr* at, const TypeVect* vt, ControlDependency control_dependency = LoadNode::DependsOnlyOnTest) |
553 LoadVectorNode(Node* c, Node* mem, Node* adr, const TypePtr* at, const TypeVect* vt, ControlDependency control_dependency = LoadNode::DependsOnlyOnTest) |
554 : LoadNode(c, mem, adr, at, vt, MemNode::unordered, control_dependency) { |
554 : LoadNode(c, mem, adr, at, vt, MemNode::unordered, control_dependency) { |
555 init_class_id(Class_LoadVector); |
555 init_class_id(Class_LoadVector); |
|
556 set_mismatched_access(); |
556 } |
557 } |
557 |
558 |
558 const TypeVect* vect_type() const { return type()->is_vect(); } |
559 const TypeVect* vect_type() const { return type()->is_vect(); } |
559 uint length() const { return vect_type()->length(); } // Vector length |
560 uint length() const { return vect_type()->length(); } // Vector length |
560 |
561 |
579 public: |
580 public: |
580 StoreVectorNode(Node* c, Node* mem, Node* adr, const TypePtr* at, Node* val) |
581 StoreVectorNode(Node* c, Node* mem, Node* adr, const TypePtr* at, Node* val) |
581 : StoreNode(c, mem, adr, at, val, MemNode::unordered) { |
582 : StoreNode(c, mem, adr, at, val, MemNode::unordered) { |
582 assert(val->is_Vector() || val->is_LoadVector(), "sanity"); |
583 assert(val->is_Vector() || val->is_LoadVector(), "sanity"); |
583 init_class_id(Class_StoreVector); |
584 init_class_id(Class_StoreVector); |
|
585 set_mismatched_access(); |
584 } |
586 } |
585 |
587 |
586 const TypeVect* vect_type() const { return in(MemNode::ValueIn)->bottom_type()->is_vect(); } |
588 const TypeVect* vect_type() const { return in(MemNode::ValueIn)->bottom_type()->is_vect(); } |
587 uint length() const { return vect_type()->length(); } // Vector length |
589 uint length() const { return vect_type()->length(); } // Vector length |
588 |
590 |