src/share/vm/opto/superword.hpp

changeset 3886
6f8f439e247d
parent 3882
8c92982cbbc4
child 4105
8ae8f9dd7099
equal deleted inserted replaced
3885:765ee2d1674b 3886:6f8f439e247d
262 LoopNode* lp() { return _lp; } 262 LoopNode* lp() { return _lp; }
263 void set_lp(LoopNode* lp) { _lp = lp; 263 void set_lp(LoopNode* lp) { _lp = lp;
264 _iv = lp->as_CountedLoop()->phi()->as_Phi(); } 264 _iv = lp->as_CountedLoop()->phi()->as_Phi(); }
265 int iv_stride() { return lp()->as_CountedLoop()->stride_con(); } 265 int iv_stride() { return lp()->as_CountedLoop()->stride_con(); }
266 266
267 int vector_width_in_bytes(BasicType bt) { 267 int vector_width(Node* n) {
268 return MIN2(ABS(iv_stride())*type2aelembytes(bt), 268 BasicType bt = velt_basic_type(n);
269 Matcher::vector_width_in_bytes(bt)); 269 return MIN2(ABS(iv_stride()), Matcher::max_vector_size(bt));
270 } 270 }
271 271 int vector_width_in_bytes(Node* n) {
272 BasicType bt = velt_basic_type(n);
273 return vector_width(n)*type2aelembytes(bt);
274 }
272 MemNode* align_to_ref() { return _align_to_ref; } 275 MemNode* align_to_ref() { return _align_to_ref; }
273 void set_align_to_ref(MemNode* m) { _align_to_ref = m; } 276 void set_align_to_ref(MemNode* m) { _align_to_ref = m; }
274 277
275 Node* ctrl(Node* n) const { return _phase->has_ctrl(n) ? _phase->get_ctrl(n) : n; } 278 Node* ctrl(Node* n) const { return _phase->has_ctrl(n) ? _phase->get_ctrl(n) : n; }
276 279

mercurial