The code here defines UNALIGNED_ACCESS_IS_FAST for ppc64 on Linux/BSD:
|
#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?).
The code here defines
UNALIGNED_ACCESS_IS_FASTforppc64on Linux/BSD:libdeflate/common_defs.h
Lines 402 to 419 in 275aa51
But does not define it for
ppc(any OS) andppc64on 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?).