svn commit: r301227 - in head: contrib/llvm/lib/Target/X86 lib/clang/include/clang/Basic

Dimitry Andric dim at FreeBSD.org
Thu Jun 2 19:54:39 UTC 2016


Author: dim
Date: Thu Jun  2 19:54:38 2016
New Revision: 301227
URL: https://svnweb.freebsd.org/changeset/base/301227

Log:
  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

Modified:
  head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
  head/lib/clang/include/clang/Basic/Version.inc

Modified: head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
==============================================================================
--- head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Thu Jun  2 19:06:04 2016	(r301226)
+++ head/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp	Thu Jun  2 19:54:38 2016	(r301227)
@@ -26159,6 +26159,8 @@ static SDValue detectAVGPattern(SDValue 
   if (InScalarVT.getSizeInBits() <= ScalarVT.getSizeInBits())
     return SDValue();
 
+  if (!Subtarget->hasSSE2())
+    return SDValue();
   if (Subtarget->hasAVX512()) {
     if (VT.getSizeInBits() > 512)
       return SDValue();

Modified: head/lib/clang/include/clang/Basic/Version.inc
==============================================================================
--- head/lib/clang/include/clang/Basic/Version.inc	Thu Jun  2 19:06:04 2016	(r301226)
+++ head/lib/clang/include/clang/Basic/Version.inc	Thu Jun  2 19:54:38 2016	(r301227)
@@ -9,4 +9,4 @@
 
 #define	SVN_REVISION			"262564"
 
-#define	FREEBSD_CC_VERSION		1100003U
+#define	FREEBSD_CC_VERSION		1100004U


More information about the svn-src-head mailing list