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})
   79       .legalFor({p0, s16, s32, s64, v2s32, v4s32, v2s64})
   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)
  114       .legalFor({s32, s64})
  116       .clampScalar(0, s32, s64)
  127       .legalFor({{s32, s32},
  127       .legalFor({{s32, s32},
  128                  {s32, s64},
  133       .clampScalar(1, s32, s64)
  134       .clampScalar(0, s32, s64)
  138       .lowerFor({s1, s8, s16, s32, s64});
  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});
  171           [=](const LegalityQuery &Query) { return std::make_pair(0, s32); })
  172       .legalFor({s16, s32, s64, v2s32, v4s32, v2s64, v2s16, v4s16, v8s16});
  179       .minScalar(0, s32)
  180       .libcallFor({s32, s64, v2s32, v4s32, v2s64});
  189         if (Ty0 != s32 && Ty0 != s64 && Ty0 != p0)
  194       .clampScalar(0, s32, s64)
  196       .maxScalarIf(typeInSet(0, {s32}), 1, s16)
  197       .maxScalarIf(typeInSet(0, {s64}), 1, s32)
  207         if (Ty1 != s32 && Ty1 != s64 && Ty1 != s128)
  214       .clampScalar(1, s32, s128)
  216       .maxScalarIf(typeInSet(1, {s32}), 0, s16)
  217       .maxScalarIf(typeInSet(1, {s64}), 0, s32)
  221       .legalForTypesWithMemDesc({{s32, p0, 8, 8},
  222                                  {s32, p0, 16, 8},
  223                                  {s32, p0, 32, 8},
  230       .clampScalar(0, s32, s64)
  249                                  {s32, p0, 32, 8},
  261       .legalForTypesWithMemDesc({{s32, p0, 8, 8},
  262                                  {s32, p0, 16, 8}})
  270       .clampMaxNumElements(0, s32, 2)
  277                                  {s32, p0, 8, 8},
  278                                  {s32, p0, 16, 8},
  279                                  {s32, p0, 32, 8},
  295       .clampMaxNumElements(0, s32, 2)
  301     .legalFor({p0, s8, s16, s32, s64})
  305       .legalFor({s32, s64})
  306       .clampScalar(0, s32, s64);
  309       .legalFor({{s32, s32},
  309       .legalFor({{s32, s32},
  310                  {s32, s64},
  311                  {s32, p0},
  320       .clampScalar(1, s32, s64)
  321       .clampScalar(0, s32, s32)
  321       .clampScalar(0, s32, s32)
  332           1, s32)
  339       .legalFor({{s32, s32}, {s32, s64}})
  339       .legalFor({{s32, s32}, {s32, s64}})
  339       .legalFor({{s32, s32}, {s32, s64}})
  340       .clampScalar(0, s32, s32)
  340       .clampScalar(0, s32, s32)
  341       .clampScalar(1, s32, s64)
  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)
  401   getActionDefinitionsBuilder(G_BRCOND).legalFor({s1, s8, s16, s32});
  408       .legalFor({{s32, s1}, {s64, s1}, {p0, s1}})
  409       .clampScalar(0, s32, s64)
  418       .legalForCartesianProduct({s1, s8, s16, s32, s64}, {p0})
  434       .legalForCartesianProduct({s1, s8, s16, s32, s64, s128, v16s8, v8s8, v4s8,
  443       .customForCartesianProduct({s8, s16, s32, s64, p0}, {p0})
  450             typeInSet(0, {s8, s16, s32, s64}), typeIs(1, s1), typeIs(2, p0),
  458             typeInSet(0, {s8, s16, s32, s64}), typeIs(1, p0),
  563                  {v2s32, s32},
  564                  {v4s32, s32},
  578       {s32, s64, v8s8, v16s8, v4s16, v8s16, v2s32, v4s32})