blob: 69abb1277234b4f6fe5c427fdc3f108c3a3d7ca5 [file] [log] [blame]
Alex Guoa89757d2018-07-29 01:14:47 +00001/*
2 * Copyright (C) 2018 Free Software Foundation, Inc.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation, version 2.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13 .globl __lshrti3
14__lshrti3:
15 beqz a2, .L1
16 li a5,64
17 sub a5,a5,a2
18 addi sp,sp,-16
19 sext.w a4,a5
20 blez a5, .L2
21 sext.w a2,a2
22 sll a4,a1,a4
23 srl a0,a0,a2
24 srl a1,a1,a2
25 or a0,a0,a4
26 sd a1,8(sp)
27 sd a0,0(sp)
28 ld a0,0(sp)
29 ld a1,8(sp)
30 addi sp,sp,16
31 ret
32.L1:
33 ret
34.L2:
35 negw a4,a4
36 srl a1,a1,a4
37 sd a1,0(sp)
38 sd zero,8(sp)
39 ld a0,0(sp)
40 ld a1,8(sp)
41 addi sp,sp,16
42 ret