aboutsummaryrefslogtreecommitdiff
path: root/src/arch/arm/libgcc/bpabi_asm.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/libgcc/bpabi_asm.S')
-rw-r--r--src/arch/arm/libgcc/bpabi_asm.S130
1 files changed, 0 insertions, 130 deletions
diff --git a/src/arch/arm/libgcc/bpabi_asm.S b/src/arch/arm/libgcc/bpabi_asm.S
deleted file mode 100644
index 27b4a1cfe8..0000000000
--- a/src/arch/arm/libgcc/bpabi_asm.S
+++ /dev/null
@@ -1,130 +0,0 @@
-/* Miscellaneous BPABI functions.
-
- Copyright (C) 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
- Contributed by CodeSourcery, LLC.
-
- This file is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; either version 2, or (at your option) any
- later version.
-
- In addition to the permissions in the GNU General Public License, the
- Free Software Foundation gives you unlimited permission to link the
- compiled version of this file into combinations with other programs,
- and to distribute those combinations without any restriction coming
- from the use of this file. (The General Public License restrictions
- do apply in other respects; for example, they cover modification of
- the file, and distribution when not linked into a combine
- executable.)
-
- This file is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-
-#include <arch/asm.h>
-
-#ifdef __ARMEB__
-#define xxh r0
-#define xxl r1
-#define yyh r2
-#define yyl r3
-#else
-#define xxh r1
-#define xxl r0
-#define yyh r3
-#define yyl r2
-#endif
-
-#if defined __thumb2__
-
-.macro do_it cond
- it \cond
-.endm
-#define do_push push
-#define do_pop pop
-
-#else
-
-.macro do_it cond
-.endm
-#define do_push stmfd sp!,
-#define do_pop ldmfd sp!,
-
-#endif
-
-ENTRY(__aeabi_lcmp)
-
- cmp xxh, yyh
- do_it lt
- movlt r0, #-1
- do_it gt
- movgt r0, #1
- do_it ne
- movne pc, lr
- subs r0, xxl, yyl
- do_it lo
- movlo r0, #-1
- do_it hi
- movhi r0, #1
- mov pc, lr
-
-ENDPROC(__aeabi_lcmp)
-
-ENTRY(__aeabi_ulcmp)
-
- cmp xxh, yyh
- do_it lo
- movlo r0, #-1
- do_it hi
- movhi r0, #1
- do_it ne
- movne pc, lr
- cmp xxl, yyl
- do_it lo
- movlo r0, #-1
- do_it hi
- movhi r0, #1
- do_it eq
- moveq r0, #0
- mov pc, lr
-
-ENDPROC(__aeabi_ulcmp)
-
-ENTRY(__aeabi_ldivmod)
- sub sp, sp, #8
-#if defined(__thumb2__)
- mov ip, sp
- push {ip, lr}
-#else
- do_push {sp, lr}
-#endif
- bl __gnu_ldivmod_helper
- ldr lr, [sp, #4]
- add sp, sp, #8
- do_pop {r2, r3}
- mov pc, lr
-
-ENDPROC(__aeabi_ldivmod)
-
-ENTRY(__aeabi_uldivmod)
- sub sp, sp, #8
-#if defined(__thumb2__)
- mov ip, sp
- push {ip, lr}
-#else
- do_push {sp, lr}
-#endif
- bl __gnu_uldivmod_helper
- ldr lr, [sp, #4]
- add sp, sp, #8
- do_pop {r2, r3}
- mov pc, lr
-
-ENDPROC(__aeabi_uldivmod)