public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [patch,avr,applied] PR115065: Tweak __clzhi2
@ 2024-05-18 13:19 Georg-Johann Lay
  0 siblings, 0 replies; only message in thread
From: Georg-Johann Lay @ 2024-05-18 13:19 UTC (permalink / raw)
  To: gcc-patches

Applied as obvious,

Johann

--

Author: Wolfgang Hospital <Wolfgang.Hospital@arcor.de>
Date:   Sat May 18 15:02:51 2024 +0200

     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.

diff --git a/libgcc/config/avr/lib1funcs.S b/libgcc/config/avr/lib1funcs.S
index 04a4eb01ab4..d48b04747da 100644
--- a/libgcc/config/avr/lib1funcs.S
+++ b/libgcc/config/avr/lib1funcs.S
@@ -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) */


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-05-18 13:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-18 13:19 [patch,avr,applied] PR115065: Tweak __clzhi2 Georg-Johann Lay

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).