1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00

Silence sign-compare warning and reduce nesting.

No functionality change.

llvm-svn: 195932
This commit is contained in:
Benjamin Kramer 2013-11-28 19:58:56 +00:00
parent 7e7db10302
commit fd8fd4246f

View File

@ -4239,14 +4239,14 @@ AArch64TargetLowering::LowerVECTOR_SHUFFLE(SDValue Op,
DAG.getConstant(Lane + ExtLane, MVT::i64)); DAG.getConstant(Lane + ExtLane, MVT::i64));
} }
// Test if V1 is a CONCAT_VECTORS. // Test if V1 is a CONCAT_VECTORS.
if (V1.getOpcode() == ISD::CONCAT_VECTORS) { if (V1.getOpcode() == ISD::CONCAT_VECTORS &&
if (V1.getOperand(1).getOpcode() == ISD::UNDEF) { V1.getOperand(1).getOpcode() == ISD::UNDEF) {
assert((Lane < V1.getOperand(0).getValueType().getVectorNumElements()) SDValue Op0 = V1.getOperand(0);
&& "Invalid vector lane access"); assert((unsigned)Lane < Op0.getValueType().getVectorNumElements() &&
return DAG.getNode(AArch64ISD::NEON_VDUPLANE, dl, VT, V1.getOperand(0), "Invalid vector lane access");
return DAG.getNode(AArch64ISD::NEON_VDUPLANE, dl, VT, Op0,
DAG.getConstant(Lane, MVT::i64)); DAG.getConstant(Lane, MVT::i64));
} }
}
return DAG.getNode(AArch64ISD::NEON_VDUPLANE, dl, VT, V1, return DAG.getNode(AArch64ISD::NEON_VDUPLANE, dl, VT, V1,
DAG.getConstant(Lane, MVT::i64)); DAG.getConstant(Lane, MVT::i64));