svn commit: r276786 - head/contrib/llvm/lib/Target/AArch64

Dimitry Andric dim at FreeBSD.org
Wed Jan 7 19:37:28 UTC 2015


Author: dim
Date: Wed Jan  7 19:37:26 2015
New Revision: 276786
URL: https://svnweb.freebsd.org/changeset/base/276786

Log:
  Pull in r222292 from upstream llvm trunk (by Weiming Zhao):
  
    [Aarch64] Customer lowering of CTPOP to SIMD should check for NEON
    availability
  
  This ensures llvm's AArch64 backend does not emit floating point
  instructions if they are disabled.

Modified:
  head/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

Modified: head/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
==============================================================================
--- head/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp	Wed Jan  7 19:34:44 2015	(r276785)
+++ head/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp	Wed Jan  7 19:37:26 2015	(r276786)
@@ -3062,6 +3062,9 @@ SDValue AArch64TargetLowering::LowerCTPO
           AttributeSet::FunctionIndex, Attribute::NoImplicitFloat))
     return SDValue();
 
+  if (!Subtarget->hasNEON())
+    return SDValue();
+
   // While there is no integer popcount instruction, it can
   // be more efficiently lowered to the following sequence that uses
   // AdvSIMD registers/instructions as long as the copies to/from


More information about the svn-src-head mailing list