HomeSort by: relevance | last modified time | path
    Searched refs:VSELECT (Results 1 - 22 of 22) sorted by relevancy

  /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/
ISDOpcodes.h 675 /// At first, the VSELECT condition is of vXi1 type. Later, targets may
676 /// change the condition type in order to match the VSELECT node using a
678 VSELECT,
BasicTTIImpl.h 1035 ISD = ISD::VSELECT;
SelectionDAG.h 1074 auto Opcode = Cond.getValueType().isVector() ? ISD::VSELECT : ISD::SELECT;
1086 /// Try to simplify a select/vselect into 1 of its operands or a constant.
  /src/external/apache2/llvm/dist/llvm/lib/Target/Mips/
MipsSEISelLowering.cpp 106 setTargetDAGCombine(ISD::VSELECT);
167 setTargetDAGCombine(ISD::VSELECT);
352 setOperationAction(ISD::VSELECT, Ty, Legal);
397 setOperationAction(ISD::VSELECT, Ty, Legal);
594 // - (or (and $a, $mask), (and $b, $inv_mask)) => (vselect $mask, $a, $b)
710 // Transform the DAG into an equivalent VSELECT.
711 return DAG.getNode(ISD::VSELECT, SDLoc(N), Ty, Cond, IfSet, IfClr);
1046 case ISD::VSELECT:
1611 // binsli_x(IfClear, IfSet, nbits) -> (vselect LBitsMask, IfSet, IfClear)
1618 return DAG.getNode(ISD::VSELECT, DL, VecTy
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/
HexagonISelLoweringHVX.cpp 184 setOperationAction(ISD::VSELECT, T, Custom);
270 setTargetDAGCombine(ISD::VSELECT);
1719 SDValue VSel = DAG.getNode(ISD::VSELECT, dl, ValTy, Mask, Load, Thru);
2088 case ISD::VSELECT:
2245 case ISD::VSELECT: {
2246 // (vselect (xor x, qtrue), v0, v1) -> (vselect x, v1, v0)
2251 return DAG.getNode(ISD::VSELECT, dl, ty(Op), C0, Ops[2], Ops[1]);
HexagonISelLowering.cpp 1749 setOperationAction(ISD::VSELECT, MVT::v4i8, Custom);
1750 setOperationAction(ISD::VSELECT, MVT::v2i16, Custom);
1803 setTargetDAGCombine(ISD::VSELECT);
3169 case ISD::VSELECT: return LowerVSELECT(Op, DAG);
3255 } else if (Opc == ISD::VSELECT) {
3258 // (vselect (xor x, ptrue), v0, v1) -> (vselect x, v1, v0)
3263 SDValue VSel = DCI.DAG.getNode(ISD::VSELECT, dl, ty(Op), C0,
  /src/external/apache2/llvm/dist/llvm/lib/CodeGen/SelectionDAG/
LegalizeVectorOps.cpp 133 /// Implement vselect in terms of XOR, AND, OR when blend is not
398 case ISD::VSELECT:
754 case ISD::VSELECT:
911 // operands are vectors. Lower this select to VSELECT and implement it
1168 // Implement VSELECT in terms of XOR, AND, OR
SelectionDAGDumper.cpp 282 case ISD::VSELECT: return "vselect";
LegalizeVectorTypes.cpp 61 case ISD::VSELECT: R = ScalarizeVecRes_VSELECT(N); break;
443 // The vselect result and true/value operands needs scalarizing, but it's
628 case ISD::VSELECT:
915 case ISD::VSELECT:
2178 case ISD::VSELECT:
2264 assert(Mask.getValueType().isVector() && "VSELECT without a vector mask?");
2281 DAG.getNode(ISD::VSELECT, DL, LoOpVT, LoMask, LoOp0, LoOp1);
2283 DAG.getNode(ISD::VSELECT, DL, HiOpVT, HiMask, HiOp0, HiOp1);
2992 case ISD::VSELECT:
4236 // This method tries to handle some special cases for the vselect mas
    [all...]
TargetLowering.cpp 2675 case ISD::VSELECT: {
2681 // TODO - add support for constant vselect masks (see IR version of this).
2687 // See if we can simplify either vselect operand.
5651 if (isOperationLegalOrCustom(ISD::VSELECT, SETCCVT)) {
5656 return DAG.getNode(ISD::VSELECT, DL, SETCCVT, TautologicalInvertedChannels,
5662 // NOTE: see the note above VSELECT above.
5915 !isOperationLegalOrCustom(ISD::VSELECT, VT))
5942 DAG.getNode(ISD::VSELECT, DL, VT, DivisorIsIntMin, MaskedIsZero, Fold);
7946 if (VT.isVector() && !isOperationLegalOrCustom(ISD::VSELECT, VT))
7997 if (VT.isVector() && !isOperationLegalOrCustom(ISD::VSELECT, VT)
    [all...]
LegalizeIntegerTypes.cpp 77 case ISD::VSELECT: Res = PromoteIntRes_VSELECT(N); break;
1048 return DAG.getNode(ISD::VSELECT, SDLoc(N),
1499 case ISD::VSELECT:
1758 if (N->getOpcode() == ISD::VSELECT)
SelectionDAG.cpp 3055 case ISD::VSELECT:
3850 case ISD::VSELECT:
6030 case ISD::VSELECT:
7738 // TODO: This should simplify VSELECT with constant condition using something
9958 case ISD::VSELECT:
DAGCombiner.cpp 1665 case ISD::VSELECT: return visitVSELECT(N);
9367 assert((N->getOpcode() == ISD::SELECT || N->getOpcode() == ISD::VSELECT) &&
9568 // This function assumes all the vselect's arguments are CONCAT_VECTOR
9587 // concat_vectors we have as arguments to vselect.
9818 // vselect <N x i1> Cond, C+1, C --> add (zext Cond), C
9819 // vselect <N x i1> Cond, C-1, C --> add (sext Cond), C
9838 // vselect <N x i1> Cond, C1, C2 --> xor (and (sext Cond), (C1^C2)), C2
9839 // ...but that only makes sense if a vselect is slower than 2 logic ops, so
9857 // vselect (not Cond), N1, N2 -> vselect Cond, N2, N
    [all...]
SelectionDAGBuilder.cpp 3256 Cond.getValueType().isVector() ? ISD::VSELECT : ISD::SELECT;
3276 // If the vselect is legal, assume we want to leave this as a vector setcc +
3277 // vselect. Otherwise, if this is going to be scalarized, we want to see if
3280 !TLI.isOperationLegalOrCustom(ISD::VSELECT, VT);
  /src/external/apache2/llvm/dist/llvm/lib/Target/X86/
X86ISelLowering.cpp 893 setOperationAction(ISD::VSELECT, MVT::v4f32, Custom);
991 setOperationAction(ISD::VSELECT, VT, Custom);
998 setOperationAction(ISD::VSELECT, VT, Custom);
1151 // We directly match byte blends in the backend as they match the VSELECT
1153 setOperationAction(ISD::VSELECT, MVT::v16i8, Legal);
1418 setOperationAction(ISD::VSELECT, VT, Custom);
1428 setOperationAction(ISD::VSELECT, MVT::v32i8, Legal);
1488 setOperationAction(ISD::VSELECT, VT, Expand);
1727 setOperationAction(ISD::VSELECT, VT, Custom);
1868 setOperationAction(ISD::VSELECT, VT, Expand)
    [all...]
X86ISelDAGToDAG.cpp 722 (N->getOpcode() == ISD::VSELECT || N->getOpcode() == X86ISD::SELECTS) &&
966 case ISD::VSELECT: {
967 // Replace VSELECT with non-mask conditions with with BLENDV.
  /src/external/apache2/llvm/dist/llvm/lib/Target/ARM/
ARMISelLowering.cpp 189 setOperationAction(ISD::VSELECT, VT, Expand);
450 setOperationAction(ISD::VSELECT, VT, Expand);
1521 setTargetDAGCombine(ISD::VSELECT);
8145 DAG.getNode(ISD::VSELECT, dl, MVT::v16i8, RecastV1, AllOnes, AllZeroes);
9642 Combo = DAG.getNode(ISD::VSELECT, dl, VT, Mask, NewLoad, PassThru);
12587 } else if (N->getOpcode() == ISD::VSELECT) {
12588 // Detect a SMIN, which for an i64 node will be a vselect/setcc, not a smin.
12660 // Transforms vselect(not(cond), lhs, rhs) into vselect(cond, rhs, lhs).
12682 // Rewrite into vselect(cond, rhs, lhs)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/RISCV/
RISCVISelLowering.cpp 708 setOperationAction(ISD::VSELECT, VT, Custom);
777 setOperationAction(ISD::VSELECT, VT, Custom);
1589 // Blend in all instances of this value using a VSELECT, using a
1596 Vec = DAG.getNode(ISD::VSELECT, DL, VT,
1810 // Now construct the mask that will be used by the vselect or blended
1838 return DAG.getNode(ISD::VSELECT, DL, VT, SelectMask, V1, V2);
2402 case ISD::VSELECT:
2970 // Custom-lower extensions from mask vectors by using a vselect either with 1
2972 // (vXiN = (s|z)ext vXi1:vmask) -> (vXiN = vselect vmask, (-1 or 1), 0)
3004 return DAG.getNode(ISD::VSELECT, DL, VecVT, Src, SplatTrueVal, SplatZero)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/AArch64/
AArch64ISelLowering.cpp 904 setTargetDAGCombine(ISD::VSELECT);
1391 setOperationAction(ISD::VSELECT, VT, Expand);
1525 setOperationAction(ISD::VSELECT, VT, Custom);
4697 case ISD::VSELECT:
7189 return DAG.getNode(ISD::VSELECT, DL, Ty, SplatPred, TVal, FVal);
7200 return DAG.getNode(ISD::VSELECT, DL, Ty, SplatPred, TVal, FVal);
14109 return DAG.getNode(ISD::VSELECT, SDLoc(N), N->getValueType(0),
15385 // vselect (v1i1 setcc) ->
15386 // vselect (v1iXX setcc) (XX is the size of the compared operand type)
15387 // FIXME: Currently the type legalizer can't handle VSELECT having v1i1 a
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
AMDGPUISelLowering.cpp 445 setOperationAction(ISD::VSELECT, VT, Expand);
485 setOperationAction(ISD::VSELECT, VT, Expand);
2238 // compare and vselect end up producing worse code than scalarizing the whole
  /src/external/apache2/llvm/dist/llvm/lib/Target/PowerPC/
PPCISelLowering.cpp 779 setOperationAction(ISD::VSELECT, VT, Legal);
1339 setTargetDAGCombine(ISD::VSELECT);
15380 case ISD::VSELECT:
16950 // from (vselect (setcc a, b, setugt), (sub a, b), (sub b, a)) to (vabsd a, b)
16951 // from (vselect (setcc a, b, setuge), (sub a, b), (sub b, a)) to (vabsd a, b)
16952 // from (vselect (setcc a, b, setult), (sub b, a), (sub a, b)) to (vabsd a, b)
16953 // from (vselect (setcc a, b, setule), (sub b, a), (sub a, b)) to (vabsd a, b)
16956 assert((N->getOpcode() == ISD::VSELECT) && "Need VSELECT node here");
  /src/external/apache2/llvm/dist/llvm/lib/Target/SystemZ/
SystemZISelLowering.cpp 345 setOperationAction(ISD::VSELECT, VT, Legal);

Completed in 191 milliseconds