From: Daniel Engel <[email protected]>
gcc/libgcc/ChangeLog:
2021-01-07 Daniel Engel <[email protected]>
* config/arm/bpabi-v6m.S: Moved __aeabi_lcmp/ulcmp() to
* config/arm/eabi/lcmp.S: New file.
* config/arm/lib1funcs.S: #include eabi/lcmp.S.
---
libgcc/config/arm/bpabi-v6m.S | 46 ----------------------------------
libgcc/config/arm/eabi/lcmp.S | 47 +++++++++++++++++++++++++++++++++++
libgcc/config/arm/lib1funcs.S | 1 +
3 files changed, 48 insertions(+), 46 deletions(-)
create mode 100644 libgcc/config/arm/eabi/lcmp.S
diff --git a/libgcc/config/arm/bpabi-v6m.S b/libgcc/config/arm/bpabi-v6m.S
index 069fcbbf48c..a051c1530a4 100644
--- a/libgcc/config/arm/bpabi-v6m.S
+++ b/libgcc/config/arm/bpabi-v6m.S
@@ -33,52 +33,6 @@
.eabi_attribute 25, 1
#endif /* __ARM_EABI__ */
-#ifdef L_aeabi_lcmp
-
-FUNC_START aeabi_lcmp
- cmp xxh, yyh
- beq 1f
- bgt 2f
- movs r0, #1
- negs r0, r0
- RET
-2:
- movs r0, #1
- RET
-1:
- subs r0, xxl, yyl
- beq 1f
- bhi 2f
- movs r0, #1
- negs r0, r0
- RET
-2:
- movs r0, #1
-1:
- RET
- FUNC_END aeabi_lcmp
-
-#endif /* L_aeabi_lcmp */
-
-#ifdef L_aeabi_ulcmp
-
-FUNC_START aeabi_ulcmp
- cmp xxh, yyh
- bne 1f
- subs r0, xxl, yyl
- beq 2f
-1:
- bcs 1f
- movs r0, #1
- negs r0, r0
- RET
-1:
- movs r0, #1
-2:
- RET
- FUNC_END aeabi_ulcmp
-
-#endif /* L_aeabi_ulcmp */
.macro test_div_by_zero signed
cmp yyh, #0
diff --git a/libgcc/config/arm/eabi/lcmp.S b/libgcc/config/arm/eabi/lcmp.S
new file mode 100644
index 00000000000..466686fcb41
--- /dev/null
+++ b/libgcc/config/arm/eabi/lcmp.S
@@ -0,0 +1,47 @@
+#ifdef L_aeabi_lcmp
+
+FUNC_START aeabi_lcmp
+ cmp xxh, yyh
+ beq 1f
+ bgt 2f
+ movs r0, #1
+ negs r0, r0
+ RET
+2:
+ movs r0, #1
+ RET
+1:
+ subs r0, xxl, yyl
+ beq 1f
+ bhi 2f
+ movs r0, #1
+ negs r0, r0
+ RET
+2:
+ movs r0, #1
+1:
+ RET
+ FUNC_END aeabi_lcmp
+
+#endif /* L_aeabi_lcmp */
+
+#ifdef L_aeabi_ulcmp
+
+FUNC_START aeabi_ulcmp
+ cmp xxh, yyh
+ bne 1f
+ subs r0, xxl, yyl
+ beq 2f
+1:
+ bcs 1f
+ movs r0, #1
+ negs r0, r0
+ RET
+1:
+ movs r0, #1
+2:
+ RET
+ FUNC_END aeabi_ulcmp
+
+#endif /* L_aeabi_ulcmp */
+
diff --git a/libgcc/config/arm/lib1funcs.S b/libgcc/config/arm/lib1funcs.S
index 2323fefa731..b4abb4a3365 100644
--- a/libgcc/config/arm/lib1funcs.S
+++ b/libgcc/config/arm/lib1funcs.S
@@ -1925,5 +1925,6 @@ LSYM(Lchange_\register):
#include "bpabi.S"
#else /* NOT_ISA_TARGET_32BIT */
#include "bpabi-v6m.S"
+#include "eabi/lcmp.S"
#endif /* NOT_ISA_TARGET_32BIT */
#endif /* !__symbian__ */
--
2.25.1