Files
scriptc/packages
Chris Tate 6434bbf33b Pack jammed saturating loops one copy per lane and test their exit every fourth iteration
The jammed loop of jamSaturatingLoops now tests whether every accumulator
is full only when `j & 3` is 3, and keeps the inner loop's own bound. Past
the iteration where every accumulator is full, the copies' ORs leave the
accumulators full and every other value they compute is dead, so running
up to three more iterations changes no result.

The copies' statements now alternate in the jammed loop, and each local's
copies are added next to each other. The vectorizer pairs neighboring
values of the loop's header, which were a copy's real and imaginary parts
in mandelbrot; it now packs the same value of two copies into one vector,
without lane shuffles.
2026-10-29 00:22:23 -05:00
..
2026-10-27 23:02:33 -05:00
2026-10-26 13:25:42 -05:00