reference, declarationdefinition
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));