From 112447f8564c0307c5da99a4094a3a99f204239f Mon Sep 17 00:00:00 2001 From: Takayuki 'January June' Suwa Date: Fri, 6 May 2022 19:34:19 +0900 Subject: [PATCH] xtensa: Reflect the 32-bit Integer Divide Option On Espressif's ESP8266 (based on Tensilica LX106, no hardware divider), this patch reduces the size of each: __moddi3() @ libgcc.a : 969 -> 301 (saves 668) __divmoddi4() : 1111 -> 426 (saves 685) __udivmoddi4() : 1043 -> 319 (saves 724) in bytes, respectively. gcc/ChangeLog: * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro definition. --- gcc/config/xtensa/xtensa.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h index 00e2930b30a..d25594f0c1f 100644 --- a/gcc/config/xtensa/xtensa.h +++ b/gcc/config/xtensa/xtensa.h @@ -75,6 +75,11 @@ along with GCC; see the file COPYING3. If not see #define HAVE_AS_TLS 0 #endif +/* Define this if the target has no hardware divide instructions. */ +#if !TARGET_DIV32 +#define TARGET_HAS_NO_HW_DIVIDE +#endif + /* Target CPU builtins. */ #define TARGET_CPU_CPP_BUILTINS() \ -- 2.47.2