If we have a simple varying 'if' statement where the only code in the body is a single 'break', then emit special case code that just updates the execution mask directly. Surprisingly, this leads to better generated code (e.g. Mandelbrot 7.1x on AVX vs 5.8x before). It's not clear why the general code generation path for break doesn't generate the equivalent code; this topic should be investigated further. (Issue #277).
100 KiB
100 KiB