Actual TNZ peephole can be extended for one more
It should help to sdcc_divulong

replace restart {
ld (%1, %2), a
tnz a
} by {
ld (%1, %2), a
}

In 3.8.0 srl (x) / inc (x)  do redundant loads/store

00102$:
; huffman_iterative.c: 32: state->bit++;
ldw x, (0x05, sp)
ld a, (x)  ; <------ next 3 lines in 3.7.2 was just "inc (x)"
inc a
ld (x), a
; huffman_iterative.c: 34: if(!(state->buffer & 0x01)) /* Left */
ldw x, (0x0a, sp)
ld a, (x)
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to