[llvm-commits] [llvm] r75176 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAGNodes.h lib/CodeGen/SelectionDAG/LegalizeDAG.cpp lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp lib/CodeGen/SelectionDAG/SelectionDAG.cpp test/CodeGen/X86/2009-07-07-SplitICmp.ll test/CodeGen/X86/2009-07-09-ExtractBoolFromVector.ll

Duncan Sands baldrick at free.fr
Fri Jul 10 00:42:55 PDT 2009


Hi Eli,

>  SDValue DAGTypeLegalizer::ScalarizeVecOp_EXTRACT_VECTOR_ELT(SDNode *N) {
> -  return GetScalarizedVector(N->getOperand(0));
> +  SDValue Res = GetScalarizedVector(N->getOperand(0));
> +  if (Res.getValueType() != N->getValueType(0))
> +    Res = DAG.getNode(ISD::ANY_EXTEND, N->getDebugLoc(), N->getValueType(0),
> +                      Res);
> +  return Res;

you can always do the any extend, since it is turned into a no-op if the
types are the same.  Not a big deal.

Otherwise looks good - thanks!

Ciao,

Duncan.



More information about the llvm-commits mailing list