reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/AArch64/AArch64LegalizerInfo.cpp
   62     .legalFor({p0, s1, s8, s16, s32, s64, v4s32, v2s64})
   63     .clampScalar(0, s1, s64)
   68           (Query.Types[0].getElementType() != s64 ||
   73         if (EltTy == s64)
   79       .legalFor({p0, s16, s32, s64, v2s32, v4s32, v2s64})
   80       .clampScalar(0, s16, s64)
   84       .legalFor({s32, s64, v4s32, v2s32, v2s64})
   85       .clampScalar(0, s32, s64)
   89       .legalFor({s32, s64, v2s32, v4s32, v2s64, v8s16, v16s8})
   90       .clampScalar(0, s32, s64)
   97     .legalFor({{s32, s32}, {s64, s64},
   97     .legalFor({{s32, s32}, {s64, s64},
   99     .clampScalar(1, s32, s64)
  100     .clampScalar(0, s32, s64)
  108       .legalFor({{p0, s64}})
  109       .clampScalar(1, s64, s64);
  109       .clampScalar(1, s64, s64);
  114       .legalFor({s32, s64})
  116       .clampScalar(0, s32, s64)
  128                  {s32, s64},
  129                  {s64, s64},
  129                  {s64, s64},
  133       .clampScalar(1, s32, s64)
  134       .clampScalar(0, s32, s64)
  138       .lowerFor({s1, s8, s16, s32, s64});
  141       .lowerFor({{s64, s1}});
  143   getActionDefinitionsBuilder({G_SMULH, G_UMULH}).legalFor({s32, s64});
  146       .legalFor({{s32, s1}, {s64, s1}});
  149     .legalFor({s32, s64, v2s64, v4s32, v2s32});
  151   getActionDefinitionsBuilder(G_FREM).libcallFor({s32, s64});
  172       .legalFor({s16, s32, s64, v2s32, v4s32, v2s64, v2s16, v4s16, v8s16});
  180       .libcallFor({s32, s64, v2s32, v4s32, v2s64});
  189         if (Ty0 != s32 && Ty0 != s64 && Ty0 != p0)
  194       .clampScalar(0, s32, s64)
  197       .maxScalarIf(typeInSet(0, {s64}), 1, s32)
  207         if (Ty1 != s32 && Ty1 != s64 && Ty1 != s128)
  217       .maxScalarIf(typeInSet(1, {s64}), 0, s32)
  224                                  {s64, p0, 8, 2},
  225                                  {s64, p0, 16, 2},
  226                                  {s64, p0, 32, 4},
  227                                  {s64, p0, 64, 8},
  230       .clampScalar(0, s32, s64)
  250                                  {s64, p0, 64, 8},
  263       .clampScalar(0, s8, s64)
  271       .clampMaxNumElements(0, s64, 1)
  280                                  {s64, p0, 64, 8},
  289       .clampScalar(0, s8, s64)
  296       .clampMaxNumElements(0, s64, 1)
  301     .legalFor({p0, s8, s16, s32, s64})
  302       .clampScalar(0, s8, s64)
  305       .legalFor({s32, s64})
  306       .clampScalar(0, s32, s64);
  310                  {s32, s64},
  320       .clampScalar(1, s32, s64)
  335           s64)
  339       .legalFor({{s32, s32}, {s32, s64}})
  341       .clampScalar(1, s32, s64)
  373       .clampScalar(0, s64, s64); // Just for s128, others are handled above.
  373       .clampScalar(0, s64, s64); // Just for s128, others are handled above.
  381       {{s16, s32}, {s16, s64}, {s32, s64}, {v4s16, v4s32}, {v2s32, v2s64}});
  381       {{s16, s32}, {s16, s64}, {s32, s64}, {v4s16, v4s32}, {v2s32, v2s64}});
  383       {{s32, s16}, {s64, s16}, {s64, s32}, {v4s32, v4s16}, {v2s64, v2s32}});
  383       {{s32, s16}, {s64, s16}, {s64, s32}, {v4s32, v4s16}, {v2s64, v2s32}});
  387       .legalForCartesianProduct({s32, s64, v2s64, v4s32, v2s32})
  388       .clampScalar(0, s32, s64)
  390       .clampScalar(1, s32, s64)
  394       .legalForCartesianProduct({s32, s64, v2s64, v4s32, v2s32})
  395       .clampScalar(1, s32, s64)
  397       .clampScalar(0, s32, s64)
  408       .legalFor({{s32, s1}, {s64, s1}, {p0, s1}})
  409       .clampScalar(0, s32, s64)
  418       .legalForCartesianProduct({s1, s8, s16, s32, s64}, {p0})
  419       .maxScalar(0, s64)
  426       .legalFor({{p0, s64}});
  434       .legalForCartesianProduct({s1, s8, s16, s32, s64, s128, v16s8, v8s8, v4s8,
  443       .customForCartesianProduct({s8, s16, s32, s64, p0}, {p0})
  444       .clampScalar(0, s8, s64)
  450             typeInSet(0, {s8, s16, s32, s64}), typeIs(1, s1), typeIs(2, p0),
  458             typeInSet(0, {s8, s16, s32, s64}), typeIs(1, p0),
  546       .minScalar(2, s64)
  566                  {v2s64, s64}})
  578       {s32, s64, v8s8, v16s8, v4s16, v8s16, v2s32, v4s32})
  607     .legalFor({{p0}, {s64}});
  610     return Query.Types[0] == p0 && Query.Types[1] == s64;