1 // SPDX-License-Identifier: GPL-2.0-or-later
5 #include <linux/export.h>
7 #include <linux/libgcc.h>
9 long long notrace
__ashrdi3(long long u
, word_type b
)
21 /* w.s.high = 1..1 or 0..0 */
24 w
.s
.low
= uu
.s
.high
>> -bm
;
26 const unsigned int carries
= (unsigned int) uu
.s
.high
<< bm
;
28 w
.s
.high
= uu
.s
.high
>> b
;
29 w
.s
.low
= ((unsigned int) uu
.s
.low
>> b
) | carries
;
34 EXPORT_SYMBOL(__ashrdi3
);