src/ppe/pk/ppe42/ppe42_gcc.c
/// A 64-bit logical right shift.
///
/// Note that shifts with negative shift counts or shifts with shift counts
/// longer than 63 bits are undefined.
A 64-bit logical right shift.
Note that shifts with negative shift counts or shifts with shift counts
longer than 63 bits are undefined.
A 64 - bit logical right shift . Note that shifts with negative shift counts or shifts with shift counts longer than 63 bits are undefined .
uint64_t
__lshrdi3(uint64_t x, int i)
{
    Uint64 input, result;
    if (i == 0) {
        return x;
    }
    input.value = x;
    if (i >= 32) {
        result.word[0] = 0;
        result.word[1] = input.word[0] >> (i - 32);
    } else {
        result.word[0] = input.word[0] >> i;
        result.word[1] = (input.word[1] >> i) | (input.word[0] << (32 - i));
    }
    return result.value;
}
uint64_t __lshrdi3 ( uint64_t x , int i ) { Uint64 input , result ; if ( i == 0 ) { return x ; } input . value = x ; if ( i >= 32 ) { result . word [ 0 ] = 0 ; result . word [ 1 ] = input . word [ 0 ] >> ( i - 32 ) ; } else { result . word [ 0 ] = input . word [ 0 ] >> i ; result . word [ 1 ] = ( input . word [ 1 ] >> i ) | ( input . word [ 0 ] << ( 32 - i ) ) ; } return result . value ; }
A 64-bit logical right shift.
A 64 - bit logical right shift .