mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +08:00
sh: New gcc support
New gcc (4.8 or later) used new shift helper functions. So we need added new helper to private libgcc. Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Rich Felker <dalias@libc.org>
This commit is contained in:
parent
2af7967a8c
commit
940d4113f3
@ -34,6 +34,9 @@ DECLARE_EXPORT(__sdivsi3);
|
|||||||
DECLARE_EXPORT(__lshrsi3);
|
DECLARE_EXPORT(__lshrsi3);
|
||||||
DECLARE_EXPORT(__ashrsi3);
|
DECLARE_EXPORT(__ashrsi3);
|
||||||
DECLARE_EXPORT(__ashlsi3);
|
DECLARE_EXPORT(__ashlsi3);
|
||||||
|
DECLARE_EXPORT(__lshrsi3_r0);
|
||||||
|
DECLARE_EXPORT(__ashrsi3_r0);
|
||||||
|
DECLARE_EXPORT(__ashlsi3_r0);
|
||||||
DECLARE_EXPORT(__ashiftrt_r4_6);
|
DECLARE_EXPORT(__ashiftrt_r4_6);
|
||||||
DECLARE_EXPORT(__ashiftrt_r4_7);
|
DECLARE_EXPORT(__ashiftrt_r4_7);
|
||||||
DECLARE_EXPORT(__ashiftrt_r4_8);
|
DECLARE_EXPORT(__ashiftrt_r4_8);
|
||||||
|
@ -54,21 +54,38 @@ Boston, MA 02110-1301, USA. */
|
|||||||
!
|
!
|
||||||
! (none)
|
! (none)
|
||||||
!
|
!
|
||||||
|
! __ashlsi3_r0
|
||||||
|
!
|
||||||
|
! Entry:
|
||||||
|
!
|
||||||
|
! r4: Value to shift
|
||||||
|
! r0: Shifts
|
||||||
|
!
|
||||||
|
! Exit:
|
||||||
|
!
|
||||||
|
! r0: Result
|
||||||
|
!
|
||||||
|
! Destroys:
|
||||||
|
!
|
||||||
|
! (none)
|
||||||
|
|
||||||
|
|
||||||
.global __ashlsi3
|
.global __ashlsi3
|
||||||
|
.global __ashlsi3_r0
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
__ashlsi3:
|
__ashlsi3:
|
||||||
mov #31,r0
|
mov r5,r0
|
||||||
and r0,r5
|
.align 2
|
||||||
|
__ashlsi3_r0:
|
||||||
|
and #31,r0
|
||||||
|
mov.l r4,@-r15
|
||||||
|
mov r0,r4
|
||||||
mova ashlsi3_table,r0
|
mova ashlsi3_table,r0
|
||||||
mov.b @(r0,r5),r5
|
mov.b @(r0,r4),r4
|
||||||
#ifdef __sh1__
|
add r4,r0
|
||||||
add r5,r0
|
|
||||||
jmp @r0
|
jmp @r0
|
||||||
#else
|
mov.l @r15+,r0
|
||||||
braf r5
|
|
||||||
#endif
|
|
||||||
mov r4,r0
|
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
ashlsi3_table:
|
ashlsi3_table:
|
||||||
|
@ -54,22 +54,37 @@ Boston, MA 02110-1301, USA. */
|
|||||||
!
|
!
|
||||||
! (none)
|
! (none)
|
||||||
!
|
!
|
||||||
|
! __ashrsi3_r0
|
||||||
|
!
|
||||||
|
! Entry:
|
||||||
|
!
|
||||||
|
! r4: Value to shift
|
||||||
|
! r0: Shifts
|
||||||
|
!
|
||||||
|
! Exit:
|
||||||
|
!
|
||||||
|
! r0: Result
|
||||||
|
!
|
||||||
|
! Destroys:
|
||||||
|
!
|
||||||
|
! (none)
|
||||||
|
|
||||||
.global __ashrsi3
|
.global __ashrsi3
|
||||||
|
.global __ashrsi3_r0
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
__ashrsi3:
|
__ashrsi3:
|
||||||
mov #31,r0
|
mov r5,r0
|
||||||
and r0,r5
|
.align 2
|
||||||
|
__ashrsi3_r0:
|
||||||
|
and #31,r0
|
||||||
|
mov.l r4,@-r15
|
||||||
|
mov r0,r4
|
||||||
mova ashrsi3_table,r0
|
mova ashrsi3_table,r0
|
||||||
mov.b @(r0,r5),r5
|
mov.b @(r0,r4),r4
|
||||||
#ifdef __sh1__
|
add r4,r0
|
||||||
add r5,r0
|
|
||||||
jmp @r0
|
jmp @r0
|
||||||
#else
|
mov.l @r15+,r0
|
||||||
braf r5
|
|
||||||
#endif
|
|
||||||
mov r4,r0
|
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
ashrsi3_table:
|
ashrsi3_table:
|
||||||
|
@ -53,22 +53,38 @@ Boston, MA 02110-1301, USA. */
|
|||||||
! Destroys:
|
! Destroys:
|
||||||
!
|
!
|
||||||
! (none)
|
! (none)
|
||||||
|
!
|
||||||
|
! __lshrsi3_r0
|
||||||
|
!
|
||||||
|
! Entry:
|
||||||
|
!
|
||||||
|
! r0: Value to shift
|
||||||
|
! r5: Shifts
|
||||||
|
!
|
||||||
|
! Exit:
|
||||||
|
!
|
||||||
|
! r0: Result
|
||||||
|
!
|
||||||
|
! Destroys:
|
||||||
|
!
|
||||||
|
! (none)
|
||||||
!
|
!
|
||||||
.global __lshrsi3
|
.global __lshrsi3
|
||||||
|
.global __lshrsi3_r0
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
__lshrsi3:
|
__lshrsi3:
|
||||||
mov #31,r0
|
mov r5,r0
|
||||||
and r0,r5
|
.align 2
|
||||||
|
__lshrsi3_r0:
|
||||||
|
and #31,r0
|
||||||
|
mov.l r4,@-r15
|
||||||
|
mov r0,r4
|
||||||
mova lshrsi3_table,r0
|
mova lshrsi3_table,r0
|
||||||
mov.b @(r0,r5),r5
|
mov.b @(r0,r4),r4
|
||||||
#ifdef __sh1__
|
add r4,r0
|
||||||
add r5,r0
|
|
||||||
jmp @r0
|
jmp @r0
|
||||||
#else
|
mov.l @r15+,r0
|
||||||
braf r5
|
|
||||||
#endif
|
|
||||||
mov r4,r0
|
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
lshrsi3_table:
|
lshrsi3_table:
|
||||||
|
Loading…
Reference in New Issue
Block a user