diff options
Diffstat (limited to 'chromium/v8/src/execution/ppc/simulator-ppc.h')
-rw-r--r-- | chromium/v8/src/execution/ppc/simulator-ppc.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/chromium/v8/src/execution/ppc/simulator-ppc.h b/chromium/v8/src/execution/ppc/simulator-ppc.h index bacd844be05..2dea5c00ca2 100644 --- a/chromium/v8/src/execution/ppc/simulator-ppc.h +++ b/chromium/v8/src/execution/ppc/simulator-ppc.h @@ -321,6 +321,18 @@ class Simulator : public SimulatorBase { } } + // Byte Reverse. + static inline __uint128_t __builtin_bswap128(__uint128_t v) { + union { + uint64_t u64[2]; + __uint128_t u128; + } res, val; + val.u128 = v; + res.u64[0] = __builtin_bswap64(val.u64[1]); + res.u64[1] = __builtin_bswap64(val.u64[0]); + return res.u128; + } + #define RW_VAR_LIST(V) \ V(QWU, unsigned __int128) \ V(QW, __int128) \ |