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>
Esse commit está contido em:
Yoshinori Sato
2015-06-20 14:02:19 +09:00
commit de Rich Felker
commit 940d4113f3
4 arquivos alterados com 78 adições e 27 exclusões

Ver arquivo

@@ -53,22 +53,38 @@ Boston, MA 02110-1301, USA. */
! Destroys:
!
! (none)
!
! __lshrsi3_r0
!
! Entry:
!
! r0: Value to shift
! r5: Shifts
!
! Exit:
!
! r0: Result
!
! Destroys:
!
! (none)
!
.global __lshrsi3
.global __lshrsi3_r0
.align 2
__lshrsi3:
mov #31,r0
and r0,r5
mov r5,r0
.align 2
__lshrsi3_r0:
and #31,r0
mov.l r4,@-r15
mov r0,r4
mova lshrsi3_table,r0
mov.b @(r0,r5),r5
#ifdef __sh1__
add r5,r0
mov.b @(r0,r4),r4
add r4,r0
jmp @r0
#else
braf r5
#endif
mov r4,r0
mov.l @r15+,r0
.align 2
lshrsi3_table: