diff options
Diffstat (limited to 'library/stdarch/crates/assert-instr-macro')
| -rw-r--r-- | library/stdarch/crates/assert-instr-macro/src/lib.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/library/stdarch/crates/assert-instr-macro/src/lib.rs b/library/stdarch/crates/assert-instr-macro/src/lib.rs index 5320bcba377..1963e0720c0 100644 --- a/library/stdarch/crates/assert-instr-macro/src/lib.rs +++ b/library/stdarch/crates/assert-instr-macro/src/lib.rs @@ -33,12 +33,18 @@ pub fn assert_instr( }; let instr = &invoc.instr; - let maybe_ignore = if cfg!(optimized) { + let name = &func.ident; + + // Disable assert_instr for x86 targets compiled with avx enabled, which + // causes LLVM to generate different intrinsics that the ones we are testing + // for. + let disable_assert_instr = std::env::var("STDSIMD_DISABLE_ASSERT_INSTR").is_ok(); + let maybe_ignore = if cfg!(optimized) && !disable_assert_instr { TokenStream::empty() } else { (quote! { #[ignore] }).into() }; - let name = &func.ident; + use quote::ToTokens; let instr_str = instr .clone() |
