Annotation of gcc/config/sh/ashrsi3.c, revision 1.1

1.1     ! root        1: /* Copyright (C) 1994 Free Software Foundation, Inc.
        !             2: 
        !             3: This file is free software; you can redistribute it and/or modify it
        !             4: under the terms of the GNU General Public License as published by the
        !             5: Free Software Foundation; either version 2, or (at your option) any
        !             6: later version.
        !             7: 
        !             8: In addition to the permissions in the GNU General Public License, the
        !             9: Free Software Foundation gives you unlimited permission to link the
        !            10: compiled version of this file with other programs, and to distribute
        !            11: those programs without any restriction coming from the use of this
        !            12: file.  (The General Public License restrictions do apply in other
        !            13: respects; for example, they cover modification of the file, and
        !            14: distribution when not linked into another program.)
        !            15: 
        !            16: This file is distributed in the hope that it will be useful, but
        !            17: WITHOUT ANY WARRANTY; without even the implied warranty of
        !            18: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        !            19: General Public License for more details.
        !            20: 
        !            21: You should have received a copy of the GNU General Public License
        !            22: along with this program; see the file COPYING.  If not, write to
        !            23: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            24: 
        !            25: /* As a special exception, if you link this library with other files,
        !            26:    some of which are compiled with GCC, to produce an executable,
        !            27:    this library does not by itself cause the resulting executable
        !            28:    to be covered by the GNU General Public License.
        !            29:    This exception does not however invalidate any other reasons why
        !            30:    the executable file might be covered by the GNU General Public License.  */
        !            31: 
        !            32: 
        !            33: /* libgcc1 routines for the Hitachi SH cpu.
        !            34:    Contributed by Steve Chamberlain.
        !            35:    [email protected] */
        !            36: 
        !            37: 
        !            38: 
        !            39: long
        !            40: __ashrsi3 (int a, int b)
        !            41: {
        !            42:   switch ((b - 1))
        !            43:     {
        !            44:     case 24 + 7:
        !            45:       a >>= 1;
        !            46:     case 24 + 6:
        !            47:       a >>= 1;
        !            48:     case 24 + 5:
        !            49:       a >>= 1;
        !            50:     case 24 + 4:
        !            51:       a >>= 1;
        !            52:     case 24 + 3:
        !            53:       a >>= 1;
        !            54:     case 24 + 2:
        !            55:       a >>= 1;
        !            56:     case 24 + 1:
        !            57:       a >>= 1;
        !            58:     case 24 + 0:
        !            59:       a >>= 1;
        !            60:     case 16 + 7:
        !            61:       a >>= 1;
        !            62:     case 16 + 6:
        !            63:       a >>= 1;
        !            64:     case 16 + 5:
        !            65:       a >>= 1;
        !            66:     case 16 + 4:
        !            67:       a >>= 1;
        !            68:     case 16 + 3:
        !            69:       a >>= 1;
        !            70:     case 16 + 2:
        !            71:       a >>= 1;
        !            72:     case 16 + 1:
        !            73:       a >>= 1;
        !            74:     case 16 + 0:
        !            75:       a >>= 1;
        !            76:     case 8 + 7:
        !            77:       a >>= 1;
        !            78:     case 8 + 6:
        !            79:       a >>= 1;
        !            80:     case 8 + 5:
        !            81:       a >>= 1;
        !            82:     case 8 + 4:
        !            83:       a >>= 1;
        !            84:     case 8 + 3:
        !            85:       a >>= 1;
        !            86:     case 8 + 2:
        !            87:       a >>= 1;
        !            88:     case 8 + 1:
        !            89:       a >>= 1;
        !            90:     case 8 + 0:
        !            91:       a >>= 1;
        !            92:     case 0 + 7:
        !            93:       a >>= 1;
        !            94:     case 0 + 6:
        !            95:       a >>= 1;
        !            96:     case 0 + 5:
        !            97:       a >>= 1;
        !            98:     case 0 + 4:
        !            99:       a >>= 1;
        !           100:     case 0 + 3:
        !           101:       a >>= 1;
        !           102:     case 0 + 2:
        !           103:       a >>= 1;
        !           104:     case 0 + 1:
        !           105:       a >>= 1;
        !           106:     case 0 + 0:
        !           107:       a >>= 1;;
        !           108:     };
        !           109:   return a;
        !           110: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.