Lines Matching refs:s64

50   const LLT s64 = LLT::scalar(64);  in AArch64LegalizerInfo()  local
67 const LLT nxv2s64 = LLT::scalable_vector(2, s64); in AArch64LegalizerInfo()
75 std::initializer_list<LLT> ScalarAndPtrTypesList = {s8, s16, s32, s64, p0}; in AArch64LegalizerInfo()
97 .legalFor({p0, s8, s16, s32, s64}) in AArch64LegalizerInfo()
100 .clampScalar(0, s8, s64) in AArch64LegalizerInfo()
109 .legalFor({p0, s16, s32, s64}) in AArch64LegalizerInfo()
112 .clampScalar(0, s16, s64) in AArch64LegalizerInfo()
117 .clampMaxNumElements(0, s64, 2) 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()
163 {s32, s64}, in AArch64LegalizerInfo()
164 {s64, s64}, in AArch64LegalizerInfo()
174 .clampScalar(1, s32, s64) in AArch64LegalizerInfo()
175 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
184 .legalFor({{p0, s64}, {v2p0, v2s64}}) in AArch64LegalizerInfo()
185 .clampScalarOrElt(1, s64, s64) in AArch64LegalizerInfo()
188 getActionDefinitionsBuilder(G_PTRMASK).legalFor({{p0, 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()
212 .legalFor({s64, v8s16, v16s8, v4s32}) in AArch64LegalizerInfo()
219 .legalFor({s32, s64, v8s8, v16s8, v4s16, v8s16, v2s32, v4s32}) 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()
266 .legalFor({{s64, MinFPScalar}, {s64, s32}, {s64, s64}}) in AArch64LegalizerInfo()
267 .libcallFor({{s64, s128}}) in AArch64LegalizerInfo()
277 .libcallFor({s32, s64}); in AArch64LegalizerInfo()
281 .libcallFor({{s32, s32}, {s64, s32}}); in AArch64LegalizerInfo()
284 .legalIf(all(typeInSet(0, {s32, s64, p0}), in AArch64LegalizerInfo()
287 .clampScalar(0, s32, s64) 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()
301 .maxScalarIf(typeInSet(1, {s64, p0}), 0, s32) in AArch64LegalizerInfo()
302 .maxScalarIf(typeInSet(1, {s128}), 0, s64); in AArch64LegalizerInfo()
316 {s64, p0, s8, 2}, in AArch64LegalizerInfo()
317 {s64, p0, s16, 2}, in AArch64LegalizerInfo()
318 {s64, p0, s32, 4}, in AArch64LegalizerInfo()
319 {s64, p0, s64, 8}, in AArch64LegalizerInfo()
320 {p0, p0, s64, 8}, in AArch64LegalizerInfo()
321 {v2s32, p0, s64, 8}}) in AArch64LegalizerInfo()
323 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
372 {s64, p0, s64, 8}, in AArch64LegalizerInfo()
373 {p0, p0, s64, 8}, in AArch64LegalizerInfo()
375 {v8s8, p0, s64, 8}, in AArch64LegalizerInfo()
377 {v4s16, p0, s64, 8}, in AArch64LegalizerInfo()
379 {v2s32, p0, s64, 8}, in AArch64LegalizerInfo()
384 {{s32, p0, s8, 8}, {s32, p0, s16, 8}, {s64, p0, s32, 8}}) in AArch64LegalizerInfo()
389 .clampMaxNumElements(0, s64, 2) in AArch64LegalizerInfo()
392 .clampScalar(0, s8, s64) in AArch64LegalizerInfo()
422 {s64, p0, s8, 8}, // truncstorei8 from s64 in AArch64LegalizerInfo()
424 {s64, p0, s16, 8}, // truncstorei16 from s64 in AArch64LegalizerInfo()
426 {s64, p0, s64, 8}, {s64, p0, s32, 8}, // truncstorei32 from s64 in AArch64LegalizerInfo()
427 {p0, p0, s64, 8}, {s128, p0, s128, 8}, {v16s8, p0, s128, 8}, in AArch64LegalizerInfo()
428 {v8s8, p0, s64, 8}, {v4s16, p0, s64, 8}, {v8s16, p0, s128, 8}, in AArch64LegalizerInfo()
429 {v2s32, p0, s64, 8}, {v4s32, p0, s128, 8}, {v2s64, p0, s128, 8}}) in AArch64LegalizerInfo()
430 .clampScalar(0, s8, s64) in AArch64LegalizerInfo()
439 .clampMaxNumElements(0, s64, 2) in AArch64LegalizerInfo()
461 {p0, s64, s64, 8}, in AArch64LegalizerInfo()
493 .legalIf(all(typeInSet(0, {s16, s32, s64}), in AArch64LegalizerInfo()
504 if (LdTy == s64) in AArch64LegalizerInfo()
512 .legalFor({p0, s8, s16, s32, s64}) in AArch64LegalizerInfo()
514 .clampScalar(0, s8, 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()
543 s64) in AArch64LegalizerInfo()
554 {s32, s64}, in AArch64LegalizerInfo()
564 .clampScalarOrElt(1, MinFPScalar, s64) in AArch64LegalizerInfo()
575 .clampMaxNumElements(1, s64, 2) in AArch64LegalizerInfo()
603 .clampScalar(0, s64, s64) // Just for s128, others are handled above. in AArch64LegalizerInfo()
639 .legalFor({s32, s64}) in AArch64LegalizerInfo()
641 .maxScalar(0, s64) in AArch64LegalizerInfo()
645 .clampMaxNumElements(0, s64, 2) 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()
668 {s64, s32}, in AArch64LegalizerInfo()
669 {s32, s64}, in AArch64LegalizerInfo()
670 {s64, s64}, in AArch64LegalizerInfo()
678 (Query.Types[0] == s32 || Query.Types[0] == s64 || in AArch64LegalizerInfo()
689 changeTo(0, s64)) in AArch64LegalizerInfo()
710 .clampMaxNumElements(0, s64, 2) in AArch64LegalizerInfo()
712 {{s32, s128}, {s64, s128}, {s128, s128}, {s128, s32}, {s128, s64}}); in AArch64LegalizerInfo()
716 {s64, s32}, in AArch64LegalizerInfo()
717 {s32, s64}, in AArch64LegalizerInfo()
718 {s64, s64}, in AArch64LegalizerInfo()
726 (Query.Types[1] == s32 || Query.Types[1] == s64 || in AArch64LegalizerInfo()
751 .clampMaxNumElements(0, s64, 2) in AArch64LegalizerInfo()
754 {s64, s128}, in AArch64LegalizerInfo()
757 {s128, s64}}); in AArch64LegalizerInfo()
766 .legalFor({{s32, s32}, {s64, s32}, {p0, s32}}) in AArch64LegalizerInfo()
768 .clampScalar(0, s32, s64) in AArch64LegalizerInfo()
785 .legalFor({{s64, p0}, {v2s64, v2p0}}) in AArch64LegalizerInfo()
787 .clampScalar(0, s64, s64); in AArch64LegalizerInfo()
793 .legalFor({{p0, s64}, {v2p0, v2s64}}); in AArch64LegalizerInfo()
800 .legalForCartesianProduct({s64, v8s8, v4s16, v2s32}) in AArch64LegalizerInfo()
816 .customForCartesianProduct({s8, s16, s32, s64, p0}, {p0}) in AArch64LegalizerInfo()
817 .clampScalar(0, s8, s64) 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()
865 .clampScalar(LitTyIdx, s8, s64) in AArch64LegalizerInfo()
893 .minScalar(2, s64) in AArch64LegalizerInfo()
906 0, s64) in AArch64LegalizerInfo()
924 .clampMaxNumElements(1, s64, 2) in AArch64LegalizerInfo()
938 .clampMaxNumElements(0, s64, 2) in AArch64LegalizerInfo()
949 {v2s64, s64}}) 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()
1043 getActionDefinitionsBuilder(G_BRJT).legalFor({{p0, s64}}); in AArch64LegalizerInfo()
1055 .legalForCartesianProduct({p0}, {s64}, {s64}) in AArch64LegalizerInfo()
1056 .customForCartesianProduct({p0}, {s8}, {s64}) in AArch64LegalizerInfo()
1060 .legalForCartesianProduct({p0}, {p0}, {s64}) in AArch64LegalizerInfo()
1065 .legalForCartesianProduct({p0}, {p0}, {s64}); in AArch64LegalizerInfo()
1076 .legalFor({s32, s64}); in AArch64LegalizerInfo()
1100 .legalFor({{s32, v2s32}, {s32, v4s32}, {s64, v2s64}}) in AArch64LegalizerInfo()
1106 .clampMaxNumElements(1, s64, 2) in AArch64LegalizerInfo()
1116 .clampMaxNumElements(1, s64, 2) in AArch64LegalizerInfo()
1135 {s64, v2s64}}) in AArch64LegalizerInfo()
1136 .clampMaxNumElements(1, s64, 2) in AArch64LegalizerInfo()
1144 .legalFor({{s32, v4s32}, {s32, v2s32}, {s64, v2s64}}) in AArch64LegalizerInfo()
1150 .clampMaxNumElements(1, s64, 2) in AArch64LegalizerInfo()
1177 .clampMaxNumElements(1, s64, 2) 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()
1229 {s64, s64}, in AArch64LegalizerInfo()
1243 {s64, s64}, in AArch64LegalizerInfo()
1261 .clampMaxNumElements(0, s64, 2) in AArch64LegalizerInfo()
1268 .legalFor({{s64, s32}, {s64, s64}}); in AArch64LegalizerInfo()
1756 LLT s64 = LLT::scalar(64); in legalizeLoadStore() local
1773 NewI = MIRBuilder.buildInstr(Opcode, {s64, s64}, {}); in legalizeLoadStore()
1777 auto Split = MIRBuilder.buildUnmerge(s64, MI.getOperand(0)); in legalizeLoadStore()
1911 LLT s64 = LLT::scalar(64); in legalizeCTPOP() local
1913 auto Split = MIRBuilder.buildUnmerge(s64, Val); in legalizeCTPOP()
1914 auto CTPOP1 = MIRBuilder.buildCTPOP(s64, Split->getOperand(0)); in legalizeCTPOP()
1915 auto CTPOP2 = MIRBuilder.buildCTPOP(s64, Split->getOperand(1)); in legalizeCTPOP()
1916 auto Add = MIRBuilder.buildAdd(s64, CTPOP1, CTPOP2); in legalizeCTPOP()
2017 LLT s64 = LLT::scalar(64); in legalizeAtomicCmpxchg128() local
2019 auto DesiredI = MIRBuilder.buildUnmerge({s64, s64}, MI.getOperand(2)); in legalizeAtomicCmpxchg128()
2020 auto NewI = MIRBuilder.buildUnmerge({s64, s64}, MI.getOperand(3)); in legalizeAtomicCmpxchg128()
2021 auto DstLo = MRI.createGenericVirtualRegister(s64); in legalizeAtomicCmpxchg128()
2022 auto DstHi = MRI.createGenericVirtualRegister(s64); in legalizeAtomicCmpxchg128()