AVR: target/115065 - Tweak __clzhi2.

The libgcc implementation of __clzhi2 can be tweaked by
one cycle in some situations by re-arranging the instructions.
It also reduces the WCET by 1 cycle.

libgcc/
	PR target/115065
	* config/avr/lib1funcs.S (__clzhi2): Tweak.
pull/67/merge
Wolfgang Hospital 2024-05-18 15:02:51 +02:00 committed by Georg-Johann Lay
parent 7422e050f3
commit 988838da72
1 changed files with 4 additions and 4 deletions

View File

@ -2921,11 +2921,9 @@ DEFUN __clzhi2
clr r26
tst r25
brne 1f
subi r26, -8
or r25, r24
brne 1f
ldi r24, 16
ret
breq 0f
subi r26, -8
1: cpi r25, 16
brsh 3f
subi r26, -3
@ -2936,6 +2934,8 @@ DEFUN __clzhi2
mov r24, r26
clr r25
ret
0: ldi r24, 16
ret
ENDF __clzhi2
#endif /* defined (L_clzhi2) */