Skip to content

Commit 6c9482e

Browse files
author
Vladimir Kozlov
committed
8257561: Some code is not vectorized after 8251925 and 8250607
Reviewed-by: chagedorn, vlivanov, thartmann
1 parent 70517c8 commit 6c9482e

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

src/hotspot/share/opto/cfgnode.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1105,11 +1105,9 @@ const Type* PhiNode::Value(PhaseGVN* phase) const {
11051105
if (bt != BoolTest::ne) {
11061106
if (stride_t->hi_as_long() < 0) { // Down-counter loop
11071107
swap(lo, hi);
1108-
return TypeInteger::make(MIN2(lo->lo_as_long(), hi->lo_as_long()), hi->hi_as_long(), 3,
1109-
l->bt())->filter_speculative(_type);
1108+
return TypeInteger::make(MIN2(lo->lo_as_long(), hi->lo_as_long()), hi->hi_as_long(), 3, l->bt());
11101109
} else if (stride_t->lo_as_long() >= 0) {
1111-
return TypeInteger::make(lo->lo_as_long(), MAX2(lo->hi_as_long(), hi->hi_as_long()), 3,
1112-
l->bt())->filter_speculative(_type);
1110+
return TypeInteger::make(lo->lo_as_long(), MAX2(lo->hi_as_long(), hi->hi_as_long()), 3, l->bt());
11131111
}
11141112
}
11151113
}

src/hotspot/share/opto/superword.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3995,16 +3995,14 @@ bool SWPointer::offset_plus_k(Node* n, bool negate) {
39953995
assert(!is_main_loop_member(n), "sanity");
39963996
n = n->in(1);
39973997
}
3998-
3999-
// Check if 'n' can really be used as invariant (not in main loop and dominating the pre loop).
4000-
if (invariant(n)) {
4001-
_negate_invar = negate;
4002-
_invar = n;
4003-
NOT_PRODUCT(_tracer.offset_plus_k_10(n, _invar, _negate_invar, _offset);)
4004-
return true;
4005-
}
40063998
}
4007-
return false;
3999+
// Check if 'n' can really be used as invariant (not in main loop and dominating the pre loop).
4000+
if (invariant(n)) {
4001+
_negate_invar = negate;
4002+
_invar = n;
4003+
NOT_PRODUCT(_tracer.offset_plus_k_10(n, _invar, _negate_invar, _offset);)
4004+
return true;
4005+
}
40084006
}
40094007

40104008
NOT_PRODUCT(_tracer.offset_plus_k_11(n);)

0 commit comments

Comments
 (0)