4 #include "primitives.h"
7 softfloat_shift128ExtraRightJam(
8 uint64_t a64
, uint64_t a0
, uint64_t extra
, unsigned int count
)
10 unsigned int negCount
;
11 struct uint128_extra z
;
16 z
.v0
= a64
<<( negCount
& 63 ) | a0
>>count
;
17 z
.extra
= a0
<<( negCount
& 63 );
26 z
.v0
= a64
>>( count
& 63 );
27 z
.extra
= a64
<<( negCount
& 63 );
30 z
.extra
= ( count
== 128 ) ? a64
: ( a64
!= 0 );
34 z
.extra
|= ( extra
!= 0 );