Open bartgol opened 4 years ago
@bartgol , the other couple places where vector_disabled is used has a comment indicating that Intel18 has a problem. I'm pretty sure @ambrad put those there, so he may know why min also has disabled vectorization.
What Jim writes is true: a compiler bug in a specific Intel version affects the default min op.
We probably need to start doing things like this rather than turn off an optimization completely, i.e., regardless of compiler.
I was gonna say, we should probably micro-tune this kind of behaviors, so not to leave performance on the table everywhere else.
Describe the bug I cannot understand why min and max have different vectorization macros (one has
vector_disabled
, while the other hasvector_simd
). It appears to me as a potential bug.To Reproduce Take a look at the two pairs of max/min implementation (masked and unmasked) around this line.
Expected behavior Either both
vector_simd
or bothvector_disabled
.@jgfouca might know more about this, and either confirm or deny that this is a bug.