File tree 1 file changed +8
-2
lines changed
1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -5794,7 +5794,7 @@ static void init_julia_llvm_env(Module *m)
5794
5794
}
5795
5795
5796
5796
// Helper to figure out what features to set for the LLVM target
5797
- // If the user specifies native ( or does not specify ) we default
5797
+ // If the user specifies native (or does not specify) we default
5798
5798
// using the API provided by LLVM
5799
5799
static inline SmallVector<std::string,10 > getTargetFeatures () {
5800
5800
StringMap<bool > HostFeatures;
@@ -5807,13 +5807,19 @@ static inline SmallVector<std::string,10> getTargetFeatures() {
5807
5807
// Platform specific overides follow
5808
5808
#if defined(_CPU_X86_64_) || defined(_CPU_X86_)
5809
5809
#ifndef USE_MCJIT
5810
- // Temporarily disable Haswell BMI2 features due to LLVM bug.
5810
+ // Temporarily disable Haswell BMI2 features due to LLVM bug.
5811
5811
HostFeatures[" bmi2" ] = false ;
5812
5812
HostFeatures[" avx2" ] = false ;
5813
5813
#endif
5814
5814
#ifdef V128_BUG
5815
5815
HostFeatures[" avx" ] = false ;
5816
5816
#endif
5817
+ // Require cx16 (cmpxchg16b)
5818
+ // We need this for 128-bit atomic operations. We only need this
5819
+ // when threading is enabled; however, to test whether this excludes
5820
+ // important systems, we require this even when threading is
5821
+ // disabled.
5822
+ HostFeatures[" cx16" ] = true ;
5817
5823
#endif
5818
5824
5819
5825
// Figure out if we know the cpu_target
You can’t perform that action at this time.
0 commit comments