From 143826f71bcda87a8b72010c4acfdf2eb61f91d3 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Wed, 28 Jan 2015 19:44:21 +0000 Subject: [PATCH] invert check for less indentation; use local vars to reduce duplication; NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227355 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86ISelLowering.cpp | 39 +++++++++++++++--------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 1fd12142966..309080c6982 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -13197,27 +13197,28 @@ static SDValue LowerEXTRACT_SUBVECTOR(SDValue Op, const X86Subtarget *Subtarget, // the upper bits of a vector. static SDValue LowerINSERT_SUBVECTOR(SDValue Op, const X86Subtarget *Subtarget, SelectionDAG &DAG) { - if (Subtarget->hasFp256()) { - SDLoc dl(Op); - SDValue Vec = Op.getOperand(0); - SDValue SubVec = Op.getOperand(1); - SDValue Idx = Op.getOperand(2); - - if ((Op.getSimpleValueType().is256BitVector() || - Op.getSimpleValueType().is512BitVector()) && - SubVec.getSimpleValueType().is128BitVector() && - isa(Idx)) { - unsigned IdxVal = cast(Idx)->getZExtValue(); - return Insert128BitVector(Vec, SubVec, IdxVal, DAG, dl); - } + if (!Subtarget->hasAVX()) + return SDValue(); + + SDLoc dl(Op); + SDValue Vec = Op.getOperand(0); + SDValue SubVec = Op.getOperand(1); + SDValue Idx = Op.getOperand(2); + MVT OpVT = Op.getSimpleValueType(); + MVT SubVecVT = SubVec.getSimpleValueType(); + + if ((OpVT.is256BitVector() || OpVT.is512BitVector()) && + SubVecVT.is128BitVector() && isa(Idx)) { + unsigned IdxVal = cast(Idx)->getZExtValue(); + return Insert128BitVector(Vec, SubVec, IdxVal, DAG, dl); + } - if (Op.getSimpleValueType().is512BitVector() && - SubVec.getSimpleValueType().is256BitVector() && - isa(Idx)) { - unsigned IdxVal = cast(Idx)->getZExtValue(); - return Insert256BitVector(Vec, SubVec, IdxVal, DAG, dl); - } + if (OpVT.is512BitVector() && + SubVecVT.is256BitVector() && isa(Idx)) { + unsigned IdxVal = cast(Idx)->getZExtValue(); + return Insert256BitVector(Vec, SubVec, IdxVal, DAG, dl); } + return SDValue(); } -- 2.40.0