Lines Matching full:s32

49   const LLT s32 = LLT::scalar(32);  in AArch64LegalizerInfo()  local
66 const LLT nxv4s32 = LLT::scalable_vector(4, s32); in AArch64LegalizerInfo()
75 std::initializer_list<LLT> ScalarAndPtrTypesList = {s8, s16, s32, s64, p0}; in AArch64LegalizerInfo()
90 const LLT &MinFPScalar = HasFP16 ? s16 : s32; in AArch64LegalizerInfo()
97 .legalFor({p0, s8, s16, s32, s64}) in AArch64LegalizerInfo()
109 .legalFor({p0, s16, s32, s64}) in AArch64LegalizerInfo()
116 .clampMaxNumElements(0, s32, 4) in AArch64LegalizerInfo()
121 .legalFor({s32, s64, v4s16, v8s16, v2s32, v4s32, v2s64}) in AArch64LegalizerInfo()
123 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
130 .legalFor({s32, s64, v2s32, v2s64, v4s32, v4s16, v8s16, v16s8, v8s8}) in AArch64LegalizerInfo()
132 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
141 0, s32) in AArch64LegalizerInfo()
162 {s32, s32}, in AArch64LegalizerInfo()
163 {s32, s64}, in AArch64LegalizerInfo()
174 .clampScalar(1, s32, s64) in AArch64LegalizerInfo()
175 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
191 .legalFor({s32, s64}) in AArch64LegalizerInfo()
193 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
198 .lowerFor({s8, s16, s32, s64, v2s64, v4s32, v2s32}) in AArch64LegalizerInfo()
200 .clampScalarOrElt(0, s32, s64) in AArch64LegalizerInfo()
208 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
219 .legalFor({s32, s64, v8s8, v16s8, v4s16, v8s16, v2s32, v4s32}) in AArch64LegalizerInfo()
223 .minScalar(0, s32); in AArch64LegalizerInfo()
238 .legalFor({{s32, s32}, {s64, s32}}) in AArch64LegalizerInfo()
239 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
240 .clampScalar(1, s32, s64) in AArch64LegalizerInfo()
248 .legalFor({MinFPScalar, s32, s64, v2s32, v4s32, v2s64}) in AArch64LegalizerInfo()
261 .libcallFor({s32, s64}) in AArch64LegalizerInfo()
262 .minScalar(0, s32) in AArch64LegalizerInfo()
266 .legalFor({{s64, MinFPScalar}, {s64, s32}, {s64, s64}}) in AArch64LegalizerInfo()
276 .minScalar(0, s32) in AArch64LegalizerInfo()
277 .libcallFor({s32, s64}); in AArch64LegalizerInfo()
280 .minScalar(0, s32) in AArch64LegalizerInfo()
281 .libcallFor({{s32, s32}, {s64, s32}}); in AArch64LegalizerInfo()
284 .legalIf(all(typeInSet(0, {s32, s64, p0}), in AArch64LegalizerInfo()
285 typeInSet(1, {s8, s16, s32}), smallerThan(1, 0))) in AArch64LegalizerInfo()
287 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
290 .maxScalarIf(typeInSet(0, {s32}), 1, s16) in AArch64LegalizerInfo()
291 .maxScalarIf(typeInSet(0, {s64, p0}), 1, s32); in AArch64LegalizerInfo()
294 .legalIf(all(typeInSet(0, {s16, s32, s64, p0}), in AArch64LegalizerInfo()
295 typeInSet(1, {s32, s64, s128, p0}), smallerThan(0, 1))) in AArch64LegalizerInfo()
297 .clampScalar(1, s32, s128) in AArch64LegalizerInfo()
300 .maxScalarIf(typeInSet(1, {s32}), 0, s16) in AArch64LegalizerInfo()
301 .maxScalarIf(typeInSet(1, {s64, p0}), 0, s32) in AArch64LegalizerInfo()
313 .legalForTypesWithMemDesc({{s32, p0, s8, 8}, in AArch64LegalizerInfo()
314 {s32, p0, s16, 8}, in AArch64LegalizerInfo()
315 {s32, p0, s32, 8}, in AArch64LegalizerInfo()
318 {s64, p0, s32, 4}, in AArch64LegalizerInfo()
323 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
371 {s32, p0, s32, 8}, in AArch64LegalizerInfo()
384 {{s32, p0, s8, 8}, {s32, p0, s16, 8}, {s64, p0, s32, 8}}) in AArch64LegalizerInfo()
388 .clampMaxNumElements(0, s32, 4) in AArch64LegalizerInfo()
400 changeTo(0, s32)) in AArch64LegalizerInfo()
421 {s32, p0, s8, 8}, // truncstorei8 from s32 in AArch64LegalizerInfo()
423 {s16, p0, s16, 8}, {s32, p0, s16, 8}, // truncstorei16 from s32 in AArch64LegalizerInfo()
425 {s32, p0, s8, 8}, {s32, p0, s16, 8}, {s32, p0, s32, 8}, in AArch64LegalizerInfo()
426 {s64, p0, s64, 8}, {s64, p0, s32, 8}, // truncstorei32 from s64 in AArch64LegalizerInfo()
438 .clampMaxNumElements(0, s32, 4) in AArch64LegalizerInfo()
458 {p0, s32, s8, 8}, in AArch64LegalizerInfo()
459 {p0, s32, s16, 8}, in AArch64LegalizerInfo()
460 {p0, s32, s32, 8}, in AArch64LegalizerInfo()
493 .legalIf(all(typeInSet(0, {s16, s32, s64}), in AArch64LegalizerInfo()
502 if (LdTy == s32) in AArch64LegalizerInfo()
505 return MemTy == s8 || MemTy == s16 || MemTy == s32; in AArch64LegalizerInfo()
512 .legalFor({p0, s8, s16, s32, s64}) in AArch64LegalizerInfo()
520 return Ty == s32 || Ty == s64 || Ty == s128; in AArch64LegalizerInfo()
526 .legalFor({{s32, s32}, {s32, s64}, {s32, p0}}) in AArch64LegalizerInfo()
528 .clampScalar(1, s32, s64) in AArch64LegalizerInfo()
529 .clampScalar(0, s32, s32) in AArch64LegalizerInfo()
540 1, s32) in AArch64LegalizerInfo()
552 .legalFor({{s32, MinFPScalar}, in AArch64LegalizerInfo()
553 {s32, s32}, in AArch64LegalizerInfo()
554 {s32, s64}, in AArch64LegalizerInfo()
563 .clampScalar(0, s32, s32) in AArch64LegalizerInfo()
607 .clampMaxNumElements(1, s32, 2) in AArch64LegalizerInfo()
624 .clampMaxNumElements(0, s32, 2) in AArch64LegalizerInfo()
639 .legalFor({s32, s64}) in AArch64LegalizerInfo()
651 {{s16, s32}, {s16, s64}, {s32, s64}, {v4s16, v4s32}, {v2s32, v2s64}}) in AArch64LegalizerInfo()
652 .libcallFor({{s16, s128}, {s32, s128}, {s64, s128}}) in AArch64LegalizerInfo()
659 {{s32, s16}, {s64, s16}, {s64, s32}, {v4s32, v4s16}, {v2s64, v2s32}}) in AArch64LegalizerInfo()
660 .libcallFor({{s128, s64}, {s128, s32}, {s128, s16}}) in AArch64LegalizerInfo()
667 .legalFor({{s32, s32}, in AArch64LegalizerInfo()
668 {s64, s32}, in AArch64LegalizerInfo()
669 {s32, s64}, in AArch64LegalizerInfo()
678 (Query.Types[0] == s32 || Query.Types[0] == s64 || in AArch64LegalizerInfo()
692 .minScalar(0, s32) in AArch64LegalizerInfo()
712 {{s32, s128}, {s64, s128}, {s128, s128}, {s128, s32}, {s128, s64}}); in AArch64LegalizerInfo()
715 .legalFor({{s32, s32}, in AArch64LegalizerInfo()
716 {s64, s32}, in AArch64LegalizerInfo()
717 {s32, s64}, in AArch64LegalizerInfo()
726 (Query.Types[1] == s32 || Query.Types[1] == s64 || in AArch64LegalizerInfo()
733 .minScalar(1, s32) in AArch64LegalizerInfo()
753 {s32, s128}, in AArch64LegalizerInfo()
756 {s128, s32}, in AArch64LegalizerInfo()
761 .legalFor({s32}) in AArch64LegalizerInfo()
762 .clampScalar(0, s32, s32); in AArch64LegalizerInfo()
766 .legalFor({{s32, s32}, {s64, s32}, {p0, s32}}) in AArch64LegalizerInfo()
768 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
769 .clampScalar(1, s32, s32) in AArch64LegalizerInfo()
799 .legalForCartesianProduct({s32, v2s16, v4s8}) in AArch64LegalizerInfo()
816 .customForCartesianProduct({s8, s16, s32, s64, p0}, {p0}) in AArch64LegalizerInfo()
822 all(typeInSet(0, {s8, s16, s32, s64, s128}), typeIs(2, p0))); in AArch64LegalizerInfo()
829 .legalIf(all(typeInSet(0, {s32, s64}), typeIs(1, p0), in AArch64LegalizerInfo()
836 .libcallIf(all(typeInSet(0, {s8, s16, s32, s64, s128}), typeIs(1, p0), in AArch64LegalizerInfo()
838 .clampScalar(0, s32, s64); in AArch64LegalizerInfo()
843 .legalIf(all(typeInSet(0, {s32, s64}), typeIs(1, p0), in AArch64LegalizerInfo()
845 .libcallIf(all(typeInSet(0, {s8, s16, s32, s64}), typeIs(1, p0), in AArch64LegalizerInfo()
847 .clampScalar(0, s32, s64); in AArch64LegalizerInfo()
853 .legalIf(all(typeInSet(0, {s32, s64}), typeIs(1, p0))) in AArch64LegalizerInfo()
854 .clampScalar(0, s32, s64); in AArch64LegalizerInfo()
866 .clampScalar(BigTyIdx, s32, s128) in AArch64LegalizerInfo()
911 0, s32) in AArch64LegalizerInfo()
925 .clampMaxNumElements(1, s32, 4) in AArch64LegalizerInfo()
946 {v2s32, s32}, in AArch64LegalizerInfo()
947 {v4s32, s32}, in AArch64LegalizerInfo()
960 {s32, s64, v8s8, v16s8, v4s16, v8s16, v2s32, v4s32}) in AArch64LegalizerInfo()
963 .clampScalar(1, s32, s64) in AArch64LegalizerInfo()
969 .legalFor({s32, s64, v8s8, v16s8}) in AArch64LegalizerInfo()
971 .clampScalar(0, s32, s64); in AArch64LegalizerInfo()
978 .clampScalar(1, s32, s64) in AArch64LegalizerInfo()
981 return (HasCSSC && typeInSet(0, {s32, s64})(Query)); in AArch64LegalizerInfo()
984 return (!HasCSSC && typeInSet(0, {s32, s64})(Query)); in AArch64LegalizerInfo()
1076 .legalFor({s32, s64}); in AArch64LegalizerInfo()
1100 .legalFor({{s32, v2s32}, {s32, v4s32}, {s64, v2s64}}) in AArch64LegalizerInfo()
1107 .clampMaxNumElements(1, s32, 4) in AArch64LegalizerInfo()
1117 .clampMaxNumElements(1, s32, 4) in AArch64LegalizerInfo()
1119 .clampMaxNumElements(1, s32, 2) in AArch64LegalizerInfo()
1133 {s32, v4s32}, in AArch64LegalizerInfo()
1134 {s32, v2s32}, in AArch64LegalizerInfo()
1137 .clampMaxNumElements(1, s32, 4) in AArch64LegalizerInfo()
1144 .legalFor({{s32, v4s32}, {s32, v2s32}, {s64, v2s64}}) in AArch64LegalizerInfo()
1151 .clampMaxNumElements(1, s32, 4) in AArch64LegalizerInfo()
1156 .clampMaxNumElements(1, s32, 2) in AArch64LegalizerInfo()
1168 {s32, v2s32}, in AArch64LegalizerInfo()
1169 {s32, v4s32}}) in AArch64LegalizerInfo()
1178 .clampMaxNumElements(1, s32, 4) in AArch64LegalizerInfo()
1210 .customFor({{s32, s32}, {s32, s64}, {s64, s64}}) in AArch64LegalizerInfo()
1214 .legalFor({{s32, s64}, {s64, s64}}) in AArch64LegalizerInfo()
1222 .customFor({{s32, s32}, {s64, s64}}); in AArch64LegalizerInfo()
1228 .legalFor({{s32, s32}, in AArch64LegalizerInfo()
1242 .customFor({{s32, s32}, in AArch64LegalizerInfo()
1251 .clampScalar(0, s32, s128) in AArch64LegalizerInfo()
1268 .legalFor({{s64, s32}, {s64, s64}}); in AArch64LegalizerInfo()
1932 // s32,s64,v4s16,v2s32 -> v8i8 in legalizeCTPOP()