Mettle

control-flowThe loop body branches

Reported by --explain after a verdict.

mettle explain control-flow

The body has a nested loop or a data-dependent if. Lanes execute in lockstep, so a branch that goes one way for lane 3 and the other way for lane 4 has no single instruction to be.

Note the compiler already if-converts short branches into masked arithmetic where it can (see if-converted). This code fires when the branch was too big or too effectful for that.

Fixes

Related