Determination of F1-active or E2-active mode for a hardware counter based loop is based on the opcode.
Loops not having a change of flow (jump, call etc.) or IDLE in last eleven instructions of the loop body are safe to execute as F1-active mode. The assembler identifies loops which are safe to execute in F1-active mode and uses the F1- active opcode.
Short loops with few iterations where the total number of instructions of fully unrolled loop is less than eleven, always execute as E2-active mode irrespective opcode.
But the user can force all the counter based loops to execute in E2-Active mode by setting the SLOWLOOP bit [bit 7] of MODE2 register (Note that this bit is intended to be primarily used by the debugger).