Lines Matching defs:s32

39   const LLT s32 = LLT::scalar(32);
62 .legalFor({p0, s1, s8, s16, s32, s64, v2s32, 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},
99 .clampScalar(1, s32, s64)
100 .clampScalar(0, s32, s64)
114 .legalFor({s32, s64})
116 .clampScalar(0, s32, s64)
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}})
147 .minScalar(0, s32);
150 .legalFor({s32, s64, v2s64, v4s32, v2s32});
152 getActionDefinitionsBuilder(G_FREM).libcallFor({s32, s64});
166 // If we don't have full FP16 support, then widen s16 to s32 if we
172 [=](const LegalityQuery &Query) { return std::make_pair(0, s32); })
173 .legalFor({s16, s32, s64, v2s32, v4s32, v2s64, v2s16, v4s16, v8s16});
180 .minScalar(0, s32)
181 .libcallFor({s32, s64, v2s32, v4s32, v2s64});
190 if (Ty0 != s32 && Ty0 != s64 && Ty0 != p0)
195 .clampScalar(0, s32, s64)
197 .maxScalarIf(typeInSet(0, {s32}), 1, s16)
198 .maxScalarIf(typeInSet(0, {s64}), 1, s32)
208 if (Ty1 != s32 && Ty1 != s64 && Ty1 != s128)
215 .clampScalar(1, s32, s128)
217 .maxScalarIf(typeInSet(1, {s32}), 0, s16)
218 .maxScalarIf(typeInSet(1, {s64}), 0, s32)
222 .legalForTypesWithMemDesc({{s32, p0, 8, 8},
223 {s32, p0, 16, 8},
224 {s32, p0, 32, 8},
231 .clampScalar(0, s32, s64)
250 {s32, p0, 32, 8},
262 .legalForTypesWithMemDesc({{s32, p0, 8, 8},
263 {s32, p0, 16, 8}})
271 .clampMaxNumElements(0, s32, 2)
278 {s32, p0, 8, 8},
279 {s32, p0, 16, 8},
280 {s32, p0, 32, 8},
296 .clampMaxNumElements(0, s32, 2)
302 .legalFor({p0, s8, s16, s32, s64})
306 .legalFor({s32, s64})
307 .clampScalar(0, s32, s64);
310 .legalFor({{s32, s32},
311 {s32, s64},
312 {s32, p0},
321 .clampScalar(1, s32, s64)
322 .clampScalar(0, s32, s32)
333 1, s32)
340 .legalFor({{s32, s32}, {s32, s64}})
341 .clampScalar(0, s32, s32)
342 .clampScalar(1, s32, s64)
382 {{s16, s32}, {s16, s64}, {s32, s64}, {v4s16, v4s32}, {v2s32, v2s64}});
384 {{s32, s16}, {s64, s16}, {s64, s32}, {v4s32, v4s16}, {v2s64, v2s32}});
388 .legalForCartesianProduct({s32, s64, v2s64, v4s32, v2s32})
389 .clampScalar(0, s32, s64)
391 .clampScalar(1, s32, s64)
395 .legalForCartesianProduct({s32, s64, v2s64, v4s32, v2s32})
396 .clampScalar(1, s32, s64)
398 .clampScalar(0, s32, s64)
402 getActionDefinitionsBuilder(G_BRCOND).legalFor({s1, s8, s16, s32});
409 .legalFor({{s32, s1}, {s64, s1}, {p0, s1}})
410 .clampScalar(0, s32, s64)
419 .legalForCartesianProduct({s1, s8, s16, s32, s64}, {p0})
435 .legalForCartesianProduct({s1, s8, s16, s32, s64, s128, v16s8, v8s8, v4s8,
444 .customForCartesianProduct({s8, s16, s32, s64, p0}, {p0})
451 typeInSet(0, {s8, s16, s32, s64}), typeIs(1, s1), typeIs(2, p0),
459 typeInSet(0, {s8, s16, s32, s64}), typeIs(1, p0),
484 // s8 = G_MERGE_VALUES s32, s32).
525 // So at this point, we have s8, s16, s32, s64, s128, s192, s256, s384,
526 // s512, <X x s8>, <X x s16>, <X x s32>, or <X x s64>.
564 {v2s32, s32},
565 {v4s32, s32},
579 {s32, s64, v8s8, v16s8, v4s16, v8s16, v2s32, v4s32})