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.
This commit is contained in:
Dimitry Andric 2015-01-07 19:37:26 +00:00
parent a737d64c08
commit 6849e1fd53

View File

@ -3062,6 +3062,9 @@ SDValue AArch64TargetLowering::LowerCTPOP(SDValue Op, SelectionDAG &DAG) const {
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