|
reference, declaration → definition
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})