From 7591c8661f96ebc31d5155f8e8146317de89511f Mon Sep 17 00:00:00 2001 From: Tom Brazier Date: Mon, 6 Feb 2023 15:12:24 +0000 Subject: [PATCH] Also implement 2 cycle saving in MultiU24X32toH16() --- Marlin/src/HAL/AVR/math.h | 6 ++---- Marlin/src/module/stepper.h | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Marlin/src/HAL/AVR/math.h b/Marlin/src/HAL/AVR/math.h index 2bd175fde5..34f859fbbb 100644 --- a/Marlin/src/HAL/AVR/math.h +++ b/Marlin/src/HAL/AVR/math.h @@ -67,11 +67,9 @@ FORCE_INLINE static uint16_t MultiU24X32toH16(uint32_t longIn1, uint32_t longIn2 A("add %[tmp2], r1") A("adc %A[intRes], %[tmp1]") A("adc %B[intRes], %[tmp1]") - A("lsl %[tmp2]") - A("adc %A[intRes], %[tmp1]") - A("adc %B[intRes], %[tmp1]") A("mul %D[longIn2], %A[longIn1]") - A("add %A[intRes], r0") + A("lsl %[tmp2]") + A("adc %A[intRes], r0") A("adc %B[intRes], r1") A("mul %D[longIn2], %B[longIn1]") A("add %B[intRes], r0") diff --git a/Marlin/src/module/stepper.h b/Marlin/src/module/stepper.h index 3bbfeac9ca..0706451e90 100644 --- a/Marlin/src/module/stepper.h +++ b/Marlin/src/module/stepper.h @@ -114,11 +114,11 @@ #define TIMER_READ_ADD_AND_STORE_CYCLES 13UL // The base ISR - #define ISR_BASE_CYCLES 1000UL + #define ISR_BASE_CYCLES 996UL // Linear advance base time is 32 cycles #if ENABLED(LIN_ADVANCE) - #define ISR_LA_BASE_CYCLES 32UL + #define ISR_LA_BASE_CYCLES 30UL #else #define ISR_LA_BASE_CYCLES 0UL #endif