-
Notifications
You must be signed in to change notification settings - Fork 199
Open
Labels
Description
The code here defines UNALIGNED_ACCESS_IS_FAST for ppc64 on Linux/BSD:
Lines 402 to 419 in 275aa51
| #if (defined(__GNUC__) || defined(__clang__)) && \ | |
| (defined(ARCH_X86_64) || defined(ARCH_X86_32) || \ | |
| defined(__ARM_FEATURE_UNALIGNED) || defined(__powerpc64__) || \ | |
| defined(__riscv_misaligned_fast) || \ | |
| /* | |
| * For all compilation purposes, WebAssembly behaves like any other CPU | |
| * instruction set. Even though WebAssembly engine might be running on | |
| * top of different actual CPU architectures, the WebAssembly spec | |
| * itself permits unaligned access and it will be fast on most of those | |
| * platforms, and simulated at the engine level on others, so it's | |
| * worth treating it as a CPU architecture with fast unaligned access. | |
| */ defined(__wasm__)) | |
| # define UNALIGNED_ACCESS_IS_FAST 1 | |
| #elif defined(_MSC_VER) | |
| # define UNALIGNED_ACCESS_IS_FAST 1 | |
| #else | |
| # define UNALIGNED_ACCESS_IS_FAST 0 | |
| #endif |
But does not define it for
ppc (any OS) and ppc64 on Darwin.
Is this intended or a mere omission? If this should apply to Big-endian PowerPC, then it is needed to add at least __POWERPC__ (Darwin both 32- and 64-bit) there and probably __powerpc__ (Linux 32-bit?).
Reactions are currently unavailable