Lines Matching refs:s16
39 const LLT s16 = LLT::scalar(16);
65 .legalFor({p0, s1, s8, s16, s32, s64, v2s32, v4s32, v2s64})
82 .legalFor({p0, s16, s32, s64, v2s32, v4s32, v2s64})
83 .clampScalar(0, s16, s64)
151 .lowerFor({s1, s8, s16, s32, s64});
175 return Ty.isVector() && Ty.getElementType() == s16 &&
178 [=](const LegalityQuery &Query) { return std::make_pair(0, s16); })
179 // If we don't have full FP16 support, then widen s16 to s32 if we
183 return Query.Types[0] == s16 && !ST.hasFullFP16();
186 .legalFor({s16, s32, s64, v2s32, v4s32, v2s64, v2s16, v4s16, v8s16});
210 .maxScalarIf(typeInSet(0, {s32}), 1, s16)
230 .maxScalarIf(typeInSet(1, {s32}), 0, s16)
262 {s16, p0, 16, 8},
290 {s16, p0, 16, 8},
315 .legalFor({p0, s8, s16, s32, s64})
397 {{s16, s32}, {s16, s64}, {s32, s64}, {v4s16, v4s32}, {v2s32, v2s64}});
399 {{s32, s16}, {s64, s16}, {s64, s32}, {v4s32, v4s16}, {v2s64, v2s32}});
417 getActionDefinitionsBuilder(G_BRCOND).legalFor({s1, s8, s16, s32});
438 .legalForCartesianProduct({s1, s8, s16, s32, s64}, {p0})
454 .legalForCartesianProduct({s1, s8, s16, s32, s64, s128, v16s8, v8s8, v4s8,
463 .customForCartesianProduct({s8, s16, s32, s64, p0}, {p0})
470 typeInSet(0, {s8, s16, s32, s64}), typeIs(1, s1), typeIs(2, p0),
478 typeInSet(0, {s8, s16, s32, s64}), typeIs(1, p0),
544 // So at this point, we have s8, s16, s32, s64, s128, s192, s256, s384,
545 // s512, <X x s8>, <X x s16>, <X x s32>, or <X x s64>.
576 // TODO: Support s8 and s16
581 .legalFor({{v4s16, s16},
582 {v8s16, s16},