https://gcc.gnu.org/g:8679354c031c9db739948881081cea342779fc6f

commit r17-2616-g8679354c031c9db739948881081cea342779fc6f
Author: Georg-Johann Lay <[email protected]>
Date:   Wed Jul 22 12:50:14 2026 +0200

    AVR: Tweak lib1funcs-fixed.S::__mulQ64_work once more.
    
    libgcc/
            * config/avr/lib1funcs-fixed.S (__mulQ64_work): Shave
            off one more instruction.

Diff:
---
 libgcc/config/avr/lib1funcs-fixed.S | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/libgcc/config/avr/lib1funcs-fixed.S 
b/libgcc/config/avr/lib1funcs-fixed.S
index e7f21ceca17e..37f8151480da 100644
--- a/libgcc/config/avr/lib1funcs-fixed.S
+++ b/libgcc/config/avr/lib1funcs-fixed.S
@@ -1192,11 +1192,10 @@ DEFUN __mulQ64_work
     set    ; for signed
     XICALL ; __muluxx3.2
 
-    ;; C = T = LSB (bit -1) from the unsigned mult.
-    bld     __tmp_reg__, 7
-    rol     __tmp_reg__
     ;; Adjust for signed Q formats that have one FBIT less.
-    rol     A0
+    lsl     A0
+    ;; Insert LSB from the unsigned mult.
+    bld     A0, 0
     rol     A1
     rol     A2
     rol     A3

Reply via email to