// determine bit value
"mov {tmp:x}, word ptr [{ctx} + 0x41A]",
"cmp {tmp:x}, word ptr [{ctx} + 0x418]",
- "jl 1f",
+ "jl 2f",
"sub {tmp:x}, word ptr [{ctx} + 0x418]",
"mov word ptr [{ctx} + 0x418], {range_lps:x}",
"mov word ptr [{ctx} + 0x41A], {tmp:x}",
"xor {bit:l}, 0x80",
- "1:",
+ "2:",
// update state[idx]
"cmp {bit:x}, {val_mps:x}",
- "jne 2f",
+ "jne 3f",
"lea {tmp}, {trans_idx_mps}[rip]",
- "jmp 3f",
- "2:",
+ "jmp 4f",
+ "3:",
"lea {tmp}, {trans_idx_lps}[rip]",
"cmp {state_idx}, 0",
- "jnz 3f",
+ "jnz 4f",
"xor {val_mps:x}, 0x80",
- "3:",
+ "4:",
"movzx {tmp}, byte ptr [{tmp} + {state_idx}]",
"or {tmp:x}, {val_mps:x}",
"mov byte ptr [{ctx} + 0x18 + {idx}], {tmp:l}",
// transpose block if necessary so it's always processed by rows
"test {tflag:e}, {tflag:e}",
- "jz 1f",
+ "jz 2f",
"punpcklwd xmm0, xmm1",
"movhlps xmm4, xmm0",
"punpcklwd xmm2, xmm3",
"movhlps xmm1, xmm0",
"movhlps xmm3, xmm4",
"movaps xmm2, xmm4",
- "1:",
+ "2:",
// calculate deltas and flags
"movd xmm4, {alpha:r}",