[xcc] minor performance tweaks
[riscv-isa-sim.git] / softfloat / s_shortShift192Left.c
1
2 #include <stdint.h>
3 #include "platform.h"
4 #include "primitives.h"
5
6 struct uint192
7 softfloat_shortShift192Left(
8 uint64_t a128, uint64_t a64, uint64_t a0, unsigned int count )
9 {
10 unsigned int negCount;
11 struct uint192 z;
12
13 negCount = - count;
14 z.v128 = a128<<count | a64>>( negCount & 63 );
15 z.v64 = a64<<count | a0>>( negCount & 63 );
16 z.v0 = a0<<count;
17 return z;
18
19 }
20