diff options
Diffstat (limited to 'carl9170fw/carlfw/src/ashlsi3.S')
-rw-r--r-- | carl9170fw/carlfw/src/ashlsi3.S | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/carl9170fw/carlfw/src/ashlsi3.S b/carl9170fw/carlfw/src/ashlsi3.S deleted file mode 100644 index 593d902..0000000 --- a/carl9170fw/carlfw/src/ashlsi3.S +++ /dev/null @@ -1,193 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2005, 2006 - Free Software Foundation, Inc. - -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. */ - -!! libgcc routines for the Renesas / SuperH SH CPUs. -!! Contributed by Steve Chamberlain. -!! sac@cygnus.com - -!! ashiftrt_r4_x, ___ashrsi3, ___ashlsi3, ___lshrsi3 routines -!! recoded in assembly by Toshiyasu Morita -!! tm@netcom.com - -/* SH2 optimizations for ___ashrsi3, ___ashlsi3, ___lshrsi3 and - ELF local label prefixes by J"orn Rennecke - amylaar@cygnus.com */ - -! -! __ashlsi3 -! -! Entry: -! -! r4: Value to shift -! r5: Shifts -! -! Exit: -! -! r0: Result -! -! Destroys: -! -! (none) -! - .global ___ashlsi3 - - .align 2 -___ashlsi3: - mov #31,r0 - and r0,r5 - mova ashlsi3_table,r0 - mov.b @(r0,r5),r5 -#ifdef __sh1__ - add r5,r0 - jmp @r0 -#else - braf r5 -#endif - mov r4,r0 - - .align 2 -ashlsi3_table: - .byte ashlsi3_0-ashlsi3_table - .byte ashlsi3_1-ashlsi3_table - .byte ashlsi3_2-ashlsi3_table - .byte ashlsi3_3-ashlsi3_table - .byte ashlsi3_4-ashlsi3_table - .byte ashlsi3_5-ashlsi3_table - .byte ashlsi3_6-ashlsi3_table - .byte ashlsi3_7-ashlsi3_table - .byte ashlsi3_8-ashlsi3_table - .byte ashlsi3_9-ashlsi3_table - .byte ashlsi3_10-ashlsi3_table - .byte ashlsi3_11-ashlsi3_table - .byte ashlsi3_12-ashlsi3_table - .byte ashlsi3_13-ashlsi3_table - .byte ashlsi3_14-ashlsi3_table - .byte ashlsi3_15-ashlsi3_table - .byte ashlsi3_16-ashlsi3_table - .byte ashlsi3_17-ashlsi3_table - .byte ashlsi3_18-ashlsi3_table - .byte ashlsi3_19-ashlsi3_table - .byte ashlsi3_20-ashlsi3_table - .byte ashlsi3_21-ashlsi3_table - .byte ashlsi3_22-ashlsi3_table - .byte ashlsi3_23-ashlsi3_table - .byte ashlsi3_24-ashlsi3_table - .byte ashlsi3_25-ashlsi3_table - .byte ashlsi3_26-ashlsi3_table - .byte ashlsi3_27-ashlsi3_table - .byte ashlsi3_28-ashlsi3_table - .byte ashlsi3_29-ashlsi3_table - .byte ashlsi3_30-ashlsi3_table - .byte ashlsi3_31-ashlsi3_table - -ashlsi3_6: - shll2 r0 -ashlsi3_4: - shll2 r0 -ashlsi3_2: - rts - shll2 r0 - -ashlsi3_7: - shll2 r0 -ashlsi3_5: - shll2 r0 -ashlsi3_3: - shll2 r0 -ashlsi3_1: - rts - shll r0 - -ashlsi3_14: - shll2 r0 -ashlsi3_12: - shll2 r0 -ashlsi3_10: - shll2 r0 -ashlsi3_8: - rts - shll8 r0 - -ashlsi3_15: - shll2 r0 -ashlsi3_13: - shll2 r0 -ashlsi3_11: - shll2 r0 -ashlsi3_9: - shll8 r0 - rts - shll r0 - -ashlsi3_22: - shll2 r0 -ashlsi3_20: - shll2 r0 -ashlsi3_18: - shll2 r0 -ashlsi3_16: - rts - shll16 r0 - -ashlsi3_23: - shll2 r0 -ashlsi3_21: - shll2 r0 -ashlsi3_19: - shll2 r0 -ashlsi3_17: - shll16 r0 - rts - shll r0 - -ashlsi3_30: - shll2 r0 -ashlsi3_28: - shll2 r0 -ashlsi3_26: - shll2 r0 -ashlsi3_24: - shll16 r0 - rts - shll8 r0 - -ashlsi3_31: - shll2 r0 -ashlsi3_29: - shll2 r0 -ashlsi3_27: - shll2 r0 -ashlsi3_25: - shll16 r0 - shll8 r0 - rts - shll r0 - -ashlsi3_0: - rts - nop |