diff options
| author | Amanieu d'Antras <amanieu@gmail.com> | 2023-10-19 16:15:54 +0100 |
|---|---|---|
| committer | Amanieu d'Antras <amanieu@gmail.com> | 2023-10-21 16:29:18 +0200 |
| commit | 7f5fd0955ab49f1eb7ac40828c00647818dd3d78 (patch) | |
| tree | 50428d2ada3877bf16a51136606d209971dcd291 /library/stdarch/crates/std_detect/src | |
| parent | 45f28923ce62f85e6f339835f2a672c72deb4b66 (diff) | |
| download | rust-7f5fd0955ab49f1eb7ac40828c00647818dd3d78.tar.gz rust-7f5fd0955ab49f1eb7ac40828c00647818dd3d78.zip | |
Disable NEON intrinsics on big-endian ARM
These are currently broken because the order of elements inside vectors is reversed on big-endian systems: the ARM ABI requires that element 0 is located at the highest address of the vector type. However LLVM intrinsics expect element 0 to be located at the lowest address. See https://llvm.org/docs/BigEndianNEON.html and `arm_neon.h` in Clang for more details. Although this is a breaking change, this is acceptable for 2 reasons: - big endian ARM targets are only tier 3. - it is preferable to stop existing code from compiling than to let it run and produce incorrect results.
Diffstat (limited to 'library/stdarch/crates/std_detect/src')
0 files changed, 0 insertions, 0 deletions
