]>
Commit | Line | Data |
---|---|---|
99dee823 | 1 | /* Copyright (C) 2003-2021 Free Software Foundation, Inc. |
ad41bd84 JM |
2 | |
3 | This file is part of GCC. | |
4 | ||
5 | GCC is free software; you can redistribute it and/or modify it under | |
6 | the terms of the GNU General Public License as published by the Free | |
7 | Software Foundation; either version 3, or (at your option) any later | |
8 | version. | |
9 | ||
10 | GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
11 | WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
13 | for more details. | |
14 | ||
15 | Under Section 7 of GPL version 3, you are granted additional | |
16 | permissions described in the GCC Runtime Library Exception, version | |
17 | 3.1, as published by the Free Software Foundation. | |
18 | ||
19 | You should have received a copy of the GNU General Public License and | |
20 | a copy of the GCC Runtime Library Exception along with this program; | |
21 | see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
22 | <http://www.gnu.org/licenses/>. */ | |
23 | ||
6b3d1e47 SC |
24 | typedef unsigned int USItype __attribute__ ((mode (SI))); |
25 | ||
26 | USItype | |
27 | __mulsi3 (USItype a, USItype b) | |
28 | { | |
29 | USItype c = 0; | |
30 | ||
31 | while (a != 0) | |
32 | { | |
33 | if (a & 1) | |
34 | c += b; | |
35 | a >>= 1; | |
36 | b <<= 1; | |
37 | } | |
38 | ||
39 | return c; | |
40 | } |