8257561: Some code is not vectorized after 8251925 and 8250607
Reviewed-by: chagedorn, vlivanov, thartmann
This commit is contained in:
parent
70517c83c2
commit
6c9482eef5
@ -1105,11 +1105,9 @@ const Type* PhiNode::Value(PhaseGVN* phase) const {
|
||||
if (bt != BoolTest::ne) {
|
||||
if (stride_t->hi_as_long() < 0) { // Down-counter loop
|
||||
swap(lo, hi);
|
||||
return TypeInteger::make(MIN2(lo->lo_as_long(), hi->lo_as_long()), hi->hi_as_long(), 3,
|
||||
l->bt())->filter_speculative(_type);
|
||||
return TypeInteger::make(MIN2(lo->lo_as_long(), hi->lo_as_long()), hi->hi_as_long(), 3, l->bt());
|
||||
} else if (stride_t->lo_as_long() >= 0) {
|
||||
return TypeInteger::make(lo->lo_as_long(), MAX2(lo->hi_as_long(), hi->hi_as_long()), 3,
|
||||
l->bt())->filter_speculative(_type);
|
||||
return TypeInteger::make(lo->lo_as_long(), MAX2(lo->hi_as_long(), hi->hi_as_long()), 3, l->bt());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3995,16 +3995,14 @@ bool SWPointer::offset_plus_k(Node* n, bool negate) {
|
||||
assert(!is_main_loop_member(n), "sanity");
|
||||
n = n->in(1);
|
||||
}
|
||||
|
||||
// Check if 'n' can really be used as invariant (not in main loop and dominating the pre loop).
|
||||
if (invariant(n)) {
|
||||
_negate_invar = negate;
|
||||
_invar = n;
|
||||
NOT_PRODUCT(_tracer.offset_plus_k_10(n, _invar, _negate_invar, _offset);)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
// Check if 'n' can really be used as invariant (not in main loop and dominating the pre loop).
|
||||
if (invariant(n)) {
|
||||
_negate_invar = negate;
|
||||
_invar = n;
|
||||
NOT_PRODUCT(_tracer.offset_plus_k_10(n, _invar, _negate_invar, _offset);)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
NOT_PRODUCT(_tracer.offset_plus_k_11(n);)
|
||||
|
Loading…
x
Reference in New Issue
Block a user