pub fn bulk(func: &mut Func, names: &mut Interner, word: u32)Expand description
Rewrites every bulk copy and bulk fill, into moves when that is worth it and into a call to the runtime when it is not.
A copy of more than UNROLL moves becomes a call, and so does a fill whose byte is not a
constant, which the front end does not write today and which would need the byte spread across
a word at runtime. A memmove is always a call, because the two sides may overlap and a run of
moves in one direction is only right for one of the two ways they can.
word is how many bytes the widest move on this machine carries. Nothing here reads a target
otherwise, and a copy is the same run of loads and stores everywhere.