Lines Matching full:p0
46 const LLT p0 = LLT::pointer(0, 64); in AArch64LegalizerInfo() local
62 const LLT v2p0 = LLT::fixed_vector(2, p0); in AArch64LegalizerInfo()
75 std::initializer_list<LLT> ScalarAndPtrTypesList = {s8, s16, s32, s64, p0}; in AArch64LegalizerInfo()
97 .legalFor({p0, s8, s16, s32, s64}) in AArch64LegalizerInfo()
109 .legalFor({p0, s16, s32, s64}) in AArch64LegalizerInfo()
118 .clampMaxNumElements(0, p0, 2); in AArch64LegalizerInfo()
184 .legalFor({{p0, s64}, {v2p0, v2s64}}) in AArch64LegalizerInfo()
188 getActionDefinitionsBuilder(G_PTRMASK).legalFor({{p0, s64}}); in AArch64LegalizerInfo()
284 .legalIf(all(typeInSet(0, {s32, s64, p0}), 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()
313 .legalForTypesWithMemDesc({{s32, p0, s8, 8}, in AArch64LegalizerInfo()
314 {s32, p0, s16, 8}, in AArch64LegalizerInfo()
315 {s32, p0, s32, 8}, 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()
342 {nxv16s8, p0, nxv16s8, 8}, in AArch64LegalizerInfo()
343 {nxv8s16, p0, nxv8s16, 8}, in AArch64LegalizerInfo()
344 {nxv4s32, p0, nxv4s32, 8}, in AArch64LegalizerInfo()
345 {nxv2s64, p0, nxv2s64, 8}, in AArch64LegalizerInfo()
353 {nxv16s8, p0, nxv16s8, 8}, in AArch64LegalizerInfo()
354 {nxv8s16, p0, nxv8s16, 8}, in AArch64LegalizerInfo()
355 {nxv4s32, p0, nxv4s32, 8}, in AArch64LegalizerInfo()
356 {nxv2s64, p0, nxv2s64, 8}, in AArch64LegalizerInfo()
369 .legalForTypesWithMemDesc({{s8, p0, s8, 8}, in AArch64LegalizerInfo()
370 {s16, p0, s16, 8}, in AArch64LegalizerInfo()
371 {s32, p0, s32, 8}, in AArch64LegalizerInfo()
372 {s64, p0, s64, 8}, in AArch64LegalizerInfo()
373 {p0, p0, s64, 8}, in AArch64LegalizerInfo()
374 {s128, p0, s128, 8}, in AArch64LegalizerInfo()
375 {v8s8, p0, s64, 8}, in AArch64LegalizerInfo()
376 {v16s8, p0, s128, 8}, in AArch64LegalizerInfo()
377 {v4s16, p0, s64, 8}, in AArch64LegalizerInfo()
378 {v8s16, p0, s128, 8}, in AArch64LegalizerInfo()
379 {v2s32, p0, s64, 8}, in AArch64LegalizerInfo()
380 {v4s32, p0, s128, 8}, in AArch64LegalizerInfo()
381 {v2s64, p0, s128, 8}}) in AArch64LegalizerInfo()
384 {{s32, p0, s8, 8}, {s32, p0, s16, 8}, {s64, p0, s32, 8}}) in AArch64LegalizerInfo()
390 .clampMaxNumElements(0, p0, 2) in AArch64LegalizerInfo()
420 {{s8, p0, s8, 8}, {s16, p0, s8, 8}, // truncstorei8 from s16 in AArch64LegalizerInfo()
421 {s32, p0, s8, 8}, // truncstorei8 from s32 in AArch64LegalizerInfo()
422 {s64, p0, s8, 8}, // truncstorei8 from s64 in AArch64LegalizerInfo()
423 {s16, p0, s16, 8}, {s32, p0, s16, 8}, // truncstorei16 from s32 in AArch64LegalizerInfo()
424 {s64, p0, s16, 8}, // truncstorei16 from s64 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()
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()
440 .clampMaxNumElements(0, p0, 2) in AArch64LegalizerInfo()
456 {p0, s8, s8, 8}, in AArch64LegalizerInfo()
457 {p0, s16, s16, 8}, in AArch64LegalizerInfo()
458 {p0, s32, s8, 8}, in AArch64LegalizerInfo()
459 {p0, s32, s16, 8}, in AArch64LegalizerInfo()
460 {p0, s32, s32, 8}, in AArch64LegalizerInfo()
461 {p0, s64, s64, 8}, in AArch64LegalizerInfo()
462 {p0, p0, p0, 8}, in AArch64LegalizerInfo()
463 {p0, v8s8, v8s8, 8}, in AArch64LegalizerInfo()
464 {p0, v16s8, v16s8, 8}, in AArch64LegalizerInfo()
465 {p0, v4s16, v4s16, 8}, in AArch64LegalizerInfo()
466 {p0, v8s16, v8s16, 8}, in AArch64LegalizerInfo()
467 {p0, v2s32, v2s32, 8}, in AArch64LegalizerInfo()
468 {p0, v4s32, v4s32, 8}, in AArch64LegalizerInfo()
469 {p0, v2s64, v2s64, 8}, in AArch64LegalizerInfo()
470 {p0, v2p0, v2p0, 8}, in AArch64LegalizerInfo()
471 {p0, s128, s128, 8}, in AArch64LegalizerInfo()
481 if (PtrTy != p0) in AArch64LegalizerInfo()
498 if (PtrTy != p0) in AArch64LegalizerInfo()
512 .legalFor({p0, s8, s16, s32, s64}) in AArch64LegalizerInfo()
526 .legalFor({{s32, s32}, {s32, s64}, {s32, p0}}) in AArch64LegalizerInfo()
763 getActionDefinitionsBuilder(G_BRINDIRECT).legalFor({p0}); in AArch64LegalizerInfo()
766 .legalFor({{s32, s32}, {s64, s32}, {p0, s32}}) in AArch64LegalizerInfo()
774 getActionDefinitionsBuilder(G_FRAME_INDEX).legalFor({p0}); in AArch64LegalizerInfo()
779 getActionDefinitionsBuilder(G_GLOBAL_VALUE).legalFor({p0}); in AArch64LegalizerInfo()
782 .legalIf(all(typeIs(0, p0), typeIs(1, p0))); in AArch64LegalizerInfo()
785 .legalFor({{s64, p0}, {v2s64, v2p0}}) in AArch64LegalizerInfo()
793 .legalFor({{p0, s64}, {v2p0, v2s64}}); in AArch64LegalizerInfo()
811 getActionDefinitionsBuilder(G_VASTART).legalFor({p0}); 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()
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()
853 .legalIf(all(typeInSet(0, {s32, s64}), typeIs(1, p0))) in AArch64LegalizerInfo()
856 getActionDefinitionsBuilder(G_BLOCK_ADDR).legalFor({p0}); in AArch64LegalizerInfo()
928 .clampMaxNumElements(1, p0, 2); in AArch64LegalizerInfo()
939 .clampMaxNumElements(0, p0, 2); in AArch64LegalizerInfo()
948 {v2p0, p0}, in AArch64LegalizerInfo()
1041 getActionDefinitionsBuilder(G_JUMP_TABLE).legalFor({p0}); 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()
1737 // allow the existing patterns for s64 to fire for p0, we just try to bitcast in legalizeLoadStore()