|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp 236 S32, S64
240 S32, S64, S16
244 S32, S64, S16, V2S16
252 .legalFor({S32, S64, V2S16, V4S16, S1, S128, S256})
257 .clampScalar(0, S32, S256)
259 .clampMaxNumElements(0, S32, 16)
265 .legalFor({S32, S16})
266 .clampScalar(0, S16, S32)
270 .legalFor({S32})
271 .clampScalar(0, S32, S32)
271 .clampScalar(0, S32, S32)
276 .legalFor({S32})
277 .clampScalar(0, S32, S32)
277 .clampScalar(0, S32, S32)
283 .legalFor({S32, S1, S64, V2S32, S16, V2S16, V4S16})
284 .clampScalar(0, S32, S64)
292 .legalFor({{S32, S1}})
293 .clampScalar(0, S32, S32)
293 .clampScalar(0, S32, S32)
306 .legalFor({S32, S64, S16})
310 .legalFor({S1, S32, S64, S16, V2S32, V4S32, V2S16, V4S16, GlobalPtr,
313 .clampScalarOrElt(0, S32, S1024)
316 .clampMaxNumElements(0, S32, 16);
323 .legalFor({S1, S32, S64, S16, GlobalPtr,
325 .clampScalar(0, S32, S64)
336 .legalFor({S32, S64});
338 .customFor({S32, S64});
340 .customFor({S32, S64});
366 .clampScalar(0, S32, S64)
375 .clampScalar(0, ST.has16BitInsts() ? S16 : S32, S64);
379 .clampScalar(0, ST.has16BitInsts() ? S16 : S32, S64);
383 .clampScalar(0, ST.has16BitInsts() ? S16 : S32, S64);
396 .legalFor({S32, S64, S16})
401 .legalFor({S32, S64})
403 .clampScalar(0, S32, S64);
407 .legalFor({{S32, S64}, {S16, S32}})
407 .legalFor({{S32, S64}, {S16, S32}})
411 .legalFor({{S64, S32}, {S32, S16}})
411 .legalFor({{S64, S32}, {S32, S16}})
420 .legalFor({S32})
424 .clampScalar(0, S32, S64);
429 FMad.customFor({S32, S16});
431 FMad.customFor({S32});
436 .legalFor({{S64, S32}, {S32, S16}, {S64, S16},
436 .legalFor({{S64, S32}, {S32, S16}, {S64, S16},
437 {S32, S1}, {S64, S1}, {S16, S1},
438 {S96, S32},
441 {S32, S8}, {S128, S32}, {S128, S64}, {S32, LLT::scalar(24)}})
441 {S32, S8}, {S128, S32}, {S128, S64}, {S32, LLT::scalar(24)}})
441 {S32, S8}, {S128, S32}, {S128, S64}, {S32, LLT::scalar(24)}})
446 .legalFor({{S32, S32}, {S64, S32}, {S16, S32}, {S32, S1}, {S16, S1}, {S64, S1}})
446 .legalFor({{S32, S32}, {S64, S32}, {S16, S32}, {S32, S1}, {S16, S1}, {S64, S1}})
446 .legalFor({{S32, S32}, {S64, S32}, {S16, S32}, {S32, S1}, {S16, S1}, {S64, S1}})
446 .legalFor({{S32, S32}, {S64, S32}, {S16, S32}, {S32, S1}, {S16, S1}, {S64, S1}})
446 .legalFor({{S32, S32}, {S64, S32}, {S16, S32}, {S32, S1}, {S16, S1}, {S64, S1}})
447 .lowerFor({{S32, S64}})
451 IToFP.clampScalar(1, S32, S64)
455 .legalFor({{S32, S32}, {S32, S64}, {S32, S16}});
455 .legalFor({{S32, S32}, {S32, S64}, {S32, S16}});
455 .legalFor({{S32, S32}, {S32, S64}, {S32, S16}});
455 .legalFor({{S32, S32}, {S32, S64}, {S32, S16}});
459 FPToI.minScalar(1, S32);
461 FPToI.minScalar(0, S32)
465 .legalFor({S32, S64})
470 .legalFor({S32, S64})
471 .clampScalar(0, S32, S64)
475 .legalFor({S32})
477 .clampScalar(0, S32, S64)
483 .legalForCartesianProduct(AddrSpaces32, {S32})
495 {S1}, {S32, S64, GlobalPtr, LocalPtr, ConstantPtr, PrivatePtr, FlatPtr})
496 .legalFor({{S1, S32}, {S1, S64}});
503 .clampScalar(1, S32, S64)
510 .clampScalar(1, S32, S64)
516 .legalFor({S32})
523 .legalFor({{S32, S32}, {S32, S64}})
523 .legalFor({{S32, S32}, {S32, S64}})
523 .legalFor({{S32, S32}, {S32, S64}})
524 .clampScalar(0, S32, S32)
524 .clampScalar(0, S32, S32)
525 .clampScalar(1, S32, S64)
532 .legalFor({S32})
533 .clampScalar(0, S32, S32)
533 .clampScalar(0, S32, S32)
539 .legalFor({S32, S16, V2S16})
542 .clampScalar(0, S16, S32)
547 .legalFor({S32, S16})
549 .clampScalar(0, S16, S32)
554 .legalFor({S32})
555 .clampScalar(0, S32, S32)
555 .clampScalar(0, S32, S32)
577 .legalForCartesianProduct(AddrSpaces32, {S32})
593 .legalForCartesianProduct(AddrSpaces32, {S32})
682 Actions.legalForTypesWithMemDesc({{S32, GlobalPtr, 32, GlobalAlign32},
691 {S32, GlobalPtr, 8, GlobalAlign8},
692 {S32, GlobalPtr, 16, GlobalAlign16},
694 {S32, LocalPtr, 32, 32},
697 {S32, LocalPtr, 8, 8},
698 {S32, LocalPtr, 16, 16},
701 {S32, PrivatePtr, 32, 32},
702 {S32, PrivatePtr, 8, 8},
703 {S32, PrivatePtr, 16, 16},
706 {S32, FlatPtr, 32, GlobalAlign32},
707 {S32, FlatPtr, 16, GlobalAlign16},
708 {S32, FlatPtr, 8, GlobalAlign8},
711 {S32, ConstantPtr, 32, GlobalAlign32},
785 .minScalar(0, S32);
788 Actions.narrowScalarIf(isWideScalarTruncStore(0), changeTo(0, S32));
829 .legalForTypesWithMemDesc({{S32, GlobalPtr, 8, 8},
830 {S32, GlobalPtr, 16, 2 * 8},
831 {S32, LocalPtr, 8, 8},
832 {S32, LocalPtr, 16, 16},
833 {S32, PrivatePtr, 8, 8},
834 {S32, PrivatePtr, 16, 16},
835 {S32, ConstantPtr, 8, 8},
836 {S32, ConstantPtr, 16, 2 * 8}});
839 {{S32, FlatPtr, 8, 8}, {S32, FlatPtr, 16, 16}});
839 {{S32, FlatPtr, 8, 8}, {S32, FlatPtr, 16, 16}});
842 ExtLoads.clampScalar(0, S32, S32)
842 ExtLoads.clampScalar(0, S32, S32)
852 .legalFor({{S32, GlobalPtr}, {S32, LocalPtr},
852 .legalFor({{S32, GlobalPtr}, {S32, LocalPtr},
855 Atomics.legalFor({{S32, FlatPtr}, {S64, FlatPtr}});
859 .legalFor({{S32, LocalPtr}});
864 .customFor({{S32, GlobalPtr}, {S64, GlobalPtr},
865 {S32, FlatPtr}, {S64, FlatPtr}})
866 .legalFor({{S32, LocalPtr}, {S64, LocalPtr},
867 {S32, RegionPtr}, {S64, RegionPtr}});
874 .legalForCartesianProduct({S32, S64, S16, V2S32, V2S16, V4S16,
881 .clampMaxNumElements(0, S32, 2)
891 .legalFor({{S32, S32}, {S64, S32}});
891 .legalFor({{S32, S32}, {S64, S32}});
891 .legalFor({{S32, S32}, {S64, S32}});
894 Shifts.legalFor({{S16, S32}, {S16, S16}, {V2S16, V2S16}})
897 Shifts.legalFor({{S16, S32}, {S16, S16}});
899 Shifts.clampScalar(1, S16, S32);
906 Shifts.clampScalar(1, S32, S32);
906 Shifts.clampScalar(1, S32, S32);
907 Shifts.clampScalar(0, S32, S64);
928 .clampScalar(EltTypeIdx, S32, S64)
929 .clampScalar(VecTypeIdx, S32, S64)
930 .clampScalar(IdxTypeIdx, S32, S32);
930 .clampScalar(IdxTypeIdx, S32, S32);
971 .legalForCartesianProduct(AllS32Vectors, {S32})
978 BuildVector.legalFor({V2S16, S32});
983 .minScalarOrElt(0, S32);
987 .legalFor({V2S16, S32})
1035 .clampScalar(BigTyIdx, S32, S1024)
1045 changeTo(LitTyIdx, S32));