Pull in r271548 from upstream llvm trunk (by me):
Only attempt to detect AVG if SSE2 is available Summary: In PR29973 Sanjay Patel reported an assertion failure when a certain loop was optimized, for a target without SSE2 support. It turned out this was because of the AVG pattern detection introduced in rL253952. Prevent the assertion failure by bailing out early in `detectAVGPattern()`, if the target does not support SSE2. Also add a minimized test case. Reviewers: congh, eli.friedman, spatel Subscribers: emaste, llvm-commits Differential Revision: http://reviews.llvm.org/D20905 This should fix assertion failures ("Requires at least SSE2!") when building the games/0ad port with CPUTYPE=pentium3. Reported by: madpilot
This commit is contained in:
parent
6f31a383cc
commit
370a96c692
@ -26159,6 +26159,8 @@ static SDValue detectAVGPattern(SDValue In, EVT VT, SelectionDAG &DAG,
|
||||
if (InScalarVT.getSizeInBits() <= ScalarVT.getSizeInBits())
|
||||
return SDValue();
|
||||
|
||||
if (!Subtarget->hasSSE2())
|
||||
return SDValue();
|
||||
if (Subtarget->hasAVX512()) {
|
||||
if (VT.getSizeInBits() > 512)
|
||||
return SDValue();
|
||||
|
@ -9,4 +9,4 @@
|
||||
|
||||
#define SVN_REVISION "262564"
|
||||
|
||||
#define FREEBSD_CC_VERSION 1100003U
|
||||
#define FREEBSD_CC_VERSION 1100004U
|
||||
|
Loading…
Reference in New Issue
Block a user