diff options
Diffstat (limited to 'sim/ppc/e500_expression.h')
-rw-r--r-- | sim/ppc/e500_expression.h | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/sim/ppc/e500_expression.h b/sim/ppc/e500_expression.h index 1a27bb1..86d033a 100644 --- a/sim/ppc/e500_expression.h +++ b/sim/ppc/e500_expression.h @@ -68,22 +68,22 @@ /* bit manipulation macros needed for e500 SPE */ #define EV_BITREVERSE16(x) \ - (((x) & 0x0001) << 15) \ - | (((x) & 0x0002) << 13) \ - | (((x) & 0x0004) << 11) \ - | (((x) & 0x0008) << 9) \ - | (((x) & 0x0010) << 7) \ - | (((x) & 0x0020) << 5) \ - | (((x) & 0x0040) << 3) \ - | (((x) & 0x0080) << 1) \ - | (((x) & 0x0100) >> 1) \ - | (((x) & 0x0200) >> 3) \ - | (((x) & 0x0400) >> 5) \ - | (((x) & 0x0800) >> 7) \ - | (((x) & 0x1000) >> 9) \ - | (((x) & 0x2000) >> 11) \ - | (((x) & 0x4000) >> 13) \ - | (((x) & 0x8000) >> 15) + ((((x) & 0x0001) << 15) \ + | (((x) & 0x0002) << 13) \ + | (((x) & 0x0004) << 11) \ + | (((x) & 0x0008) << 9) \ + | (((x) & 0x0010) << 7) \ + | (((x) & 0x0020) << 5) \ + | (((x) & 0x0040) << 3) \ + | (((x) & 0x0080) << 1) \ + | (((x) & 0x0100) >> 1) \ + | (((x) & 0x0200) >> 3) \ + | (((x) & 0x0400) >> 5) \ + | (((x) & 0x0800) >> 7) \ + | (((x) & 0x1000) >> 9) \ + | (((x) & 0x2000) >> 11) \ + | (((x) & 0x4000) >> 13) \ + | (((x) & 0x8000) >> 15)) /* saturation helpers */ #define EV_MUL16_SSF(a,b) ((int64_t)((int32_t)(int16_t)(a) * (int32_t)(int16_t)(b)) << 1) |