diff --git a/sulong/projects/com.oracle.truffle.llvm.toolchain.launchers/src/com/oracle/truffle/llvm/toolchain/launchers/common/ClangLikeBase.java b/sulong/projects/com.oracle.truffle.llvm.toolchain.launchers/src/com/oracle/truffle/llvm/toolchain/launchers/common/ClangLikeBase.java index 9b026f4ece37..8cbb73f79bd4 100644 --- a/sulong/projects/com.oracle.truffle.llvm.toolchain.launchers/src/com/oracle/truffle/llvm/toolchain/launchers/common/ClangLikeBase.java +++ b/sulong/projects/com.oracle.truffle.llvm.toolchain.launchers/src/com/oracle/truffle/llvm/toolchain/launchers/common/ClangLikeBase.java @@ -181,6 +181,15 @@ private static List getVectorInstructionSetFlags() { switch (Arch.getCurrent()) { case X86_64: return Arrays.asList("-mno-sse3", "-mno-avx"); + case AARCH_64: + /* + * This is a bit controversal as per Arm ARM Armv8 has support for "Advanced SIMD" + * (aka. NEON), thus it's a reasonable assumption that `__ARM_NEON` is always + * defined. However, there is an option to ship an Armv8 core without NEON for + * "spezialized markets", so in theory a clean codebase must have a fallback for + * which `__ARM_NEON` is not defined. + */ + return Arrays.asList("-Xclang", "-target-feature", "-Xclang", "-neon"); default: return Collections.emptyList(); }