]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgcc/config/msp430/slli.S
Update copyright years.
[thirdparty/gcc.git] / libgcc / config / msp430 / slli.S
CommitLineData
f1717362 1; Copyright (C) 2012-2016 Free Software Foundation, Inc.
e4a25868 2; Contributed by Red Hat.
3;
4; This file is free software; you can redistribute it and/or modify it
5; under the terms of the GNU General Public License as published by the
6; Free Software Foundation; either version 3, or (at your option) any
7; later version.
8;
9; This file is distributed in the hope that it will be useful, but
10; WITHOUT ANY WARRANTY; without even the implied warranty of
11; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12; General Public License for more details.
13;
14; Under Section 7 of GPL version 3, you are granted additional
15; permissions described in the GCC Runtime Library Exception, version
16; 3.1, as published by the Free Software Foundation.
17;
18; You should have received a copy of the GNU General Public License and
19; a copy of the GCC Runtime Library Exception along with this program;
20; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
21; <http://www.gnu.org/licenses/>.
22
23 .text
24
25/* Logical Left Shift - R12 -> R12 */
26
27 .macro _slli n
28 .global __mspabi_slli_\n
29__mspabi_slli_\n:
30 ADD.W R12,R12
31 .endm
32
33 _slli 15
34 _slli 14
35 _slli 13
36 _slli 12
37 _slli 11
38 _slli 10
39 _slli 9
40 _slli 8
41 _slli 7
42 _slli 6
43 _slli 5
44 _slli 4
45 _slli 3
46 _slli 2
47 _slli 1
48#ifdef __MSP430X_LARGE__
49 RETA
50#else
51 RET
52#endif
53
541: ADD.W #-1,R13
55 ADD.W R12,R12
56 .global __mspabi_slli
57__mspabi_slli:
58 CMP #0,R13
59 JNZ 1b
60#ifdef __MSP430X_LARGE__
61 RETA
62#else
63 RET
64#endif
65
66/* Logical Left Shift - R12:R13 -> R12:R13 */
67
68 .macro _slll n
69 .global __mspabi_slll_\n
70__mspabi_slll_\n:
71 ADD.W R12,R12
72 ADDC.W R13,R13
73 .endm
74
75 _slll 15
76 _slll 14
77 _slll 13
78 _slll 12
79 _slll 11
80 _slll 10
81 _slll 9
82 _slll 8
83 _slll 7
84 _slll 6
85 _slll 5
86 _slll 4
87 _slll 3
88 _slll 2
89 _slll 1
90#ifdef __MSP430X_LARGE__
91 RETA
92#else
93 RET
94#endif
95
961: ADD.W #-1,R14
97 ADD.W R12,R12
98 ADDC.W R13,R13
99 .global __mspabi_slll
100__mspabi_slll:
101 CMP #0,R14
102 JNZ 1b
103#ifdef __MSP430X_LARGE__
104 RETA
105#else
106 RET
107#endif
108