]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/hppa/lshift.S
Update copyright dates with scripts/update-copyrights.
[thirdparty/glibc.git] / sysdeps / hppa / lshift.S
CommitLineData
acc97172 1;! HP-PA __mpn_lshift --
7def3d92 2
d614a753 3;! Copyright (C) 1992-2020 Free Software Foundation, Inc.
7def3d92 4
acc97172 5;! This file is part of the GNU MP Library.
7def3d92 6
acc97172 7;! The GNU MP Library is free software; you can redistribute it and/or modify
f01ec467
AJ
8;! it under the terms of the GNU Lesser General Public License as published by
9;! the Free Software Foundation; either version 2.1 of the License, or (at your
acc97172 10;! option) any later version.
7def3d92 11
acc97172
UD
12;! The GNU MP Library is distributed in the hope that it will be useful, but
13;! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
f01ec467 14;! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
acc97172 15;! License for more details.
7def3d92 16
f01ec467 17;! You should have received a copy of the GNU Lesser General Public License
ab84e3ff 18;! along with the GNU MP Library. If not, see
5a82c748 19;! <https://www.gnu.org/licenses/>.
7def3d92
RM
20
21
acc97172
UD
22;! INPUT PARAMETERS
23;! res_ptr gr26
24;! s_ptr gr25
25;! size gr24
26;! cnt gr23
7def3d92 27
acc97172 28 .text
7def3d92 29 .export __mpn_lshift
acc97172 30__mpn_lshift:
7def3d92
RM
31 .proc
32 .callinfo frame=64,no_calls
33 .entry
34
35 sh2add %r24,%r25,%r25
36 sh2add %r24,%r26,%r26
e4782a56 37 ldws,mb -4(%r25),%r22
7def3d92
RM
38 subi 32,%r23,%r1
39 mtsar %r1
40 addib,= -1,%r24,L$0004
acc97172 41 vshd %r0,%r22,%r28 ;! compute carry out limb
e4782a56 42 ldws,mb -4(%r25),%r29
7def3d92
RM
43 addib,= -1,%r24,L$0002
44 vshd %r22,%r29,%r20
45
e4782a56
RM
46L$loop: ldws,mb -4(%r25),%r22
47 stws,mb %r20,-4(%r26)
7def3d92
RM
48 addib,= -1,%r24,L$0003
49 vshd %r29,%r22,%r20
e4782a56
RM
50 ldws,mb -4(%r25),%r29
51 stws,mb %r20,-4(%r26)
7def3d92
RM
52 addib,<> -1,%r24,L$loop
53 vshd %r22,%r29,%r20
54
e4782a56 55L$0002: stws,mb %r20,-4(%r26)
7def3d92
RM
56 vshd %r29,%r0,%r20
57 bv 0(%r2)
e4782a56
RM
58 stw %r20,-4(%r26)
59L$0003: stws,mb %r20,-4(%r26)
acc97172 60L$0004: vshd %r22,%r0,%r20
7def3d92 61 bv 0(%r2)
e4782a56 62 stw %r20,-4(%r26)
7def3d92
RM
63
64 .exit
65 .procend