< prev index next >
src/share/vm/opto/superword.cpp
Print this page
@@ -2245,11 +2245,14 @@
uint slp_max_unroll_factor = cl->slp_max_unroll();
if (slp_max_unroll_factor == max_vlen) {
NOT_PRODUCT(if (TraceSuperWordLoopUnrollAnalysis) tty->print_cr("vector loop(unroll=%d, len=%d)\n", max_vlen, max_vlen_in_bytes*BitsPerByte));
// For atomic unrolled loops which are vector mapped, instigate more unrolling.
cl->set_notpassed_slp();
+ // if vector resources are limited, do not allow additional unrolling
+ if (FLOATPRESSURE > 8) {
C->set_major_progress();
+ }
cl->mark_do_unroll_only();
}
}
}
< prev index next >