You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After https://reviews.llvm.org/D83273 / 16f3d698f2af ("[X86] Move
the feature dependency handling in X86TargetInfo::setFeatureEnabledImpl
to a table based lookup in X86TargetParser.cpp"), compiling with -march=amdfam10 incorrectly starts using SSSE3 instructions, in particular pshufb.
Test case:
#include <xmmintrin.h>
__m128i foo(unsigned char c) {
return _mm_set1_epi8(c);
}
Extended Description
After https://reviews.llvm.org/D83273 /
16f3d698f2af ("[X86] Move
the feature dependency handling in X86TargetInfo::setFeatureEnabledImpl
to a table based lookup in X86TargetParser.cpp"), compiling with -march=amdfam10 incorrectly starts using SSSE3 instructions, in particular pshufb.
Test case:
#include <xmmintrin.h>
__m128i foo(unsigned char c) {
return _mm_set1_epi8(c);
}
Asm output before:
foo: # @foo
.cfi_startproc
%bb.0: # %entry
After:
foo: # @foo
.cfi_startproc
%bb.0: # %entry
Apparently 16f3d69#diff-045a11495d5fad4e01af59c60f6a387aR500 makes SSE4_A now imply SSSE3, which is not correct (at least not always, I think).
The text was updated successfully, but these errors were encountered: