]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
xtensa: Reflect the 32-bit Integer Divide Option
authorTakayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
Fri, 6 May 2022 10:34:19 +0000 (19:34 +0900)
committerMax Filippov <jcmvbkbc@gmail.com>
Fri, 13 May 2022 09:31:26 +0000 (02:31 -0700)
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

index 00e2930b30afac897ba3ece4970a0a2ef785b329..d25594f0c1fa916aae2a19c0f86cd41a0139ee59 100644 (file)
@@ -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
+
 \f
 /* Target CPU builtins.  */
 #define TARGET_CPU_CPP_BUILTINS()                                      \