@@ -655,15 +655,19 @@ RegBankLegalizeRules::RegBankLegalizeRules(const GCNSubtarget &_ST,
655655 .Uni (S32, {{Sgpr32}, {Sgpr32, Sgpr32}})
656656 .Div (S32, {{Vgpr32}, {Vgpr32, Vgpr32}})
657657 .Uni (V2S16, {{SgprV2S16}, {SgprV2S16, SgprV2S16}, UnpackMinMax})
658- .Div (V2S16, {{VgprV2S16}, {VgprV2S16, VgprV2S16}});
658+ .Div (V2S16, {{VgprV2S16}, {VgprV2S16, VgprV2S16}})
659+ .Uni (S64, {{UniInVgprS64}, {Vgpr64, Vgpr64}})
660+ .Div (S64, {{Vgpr64}, {Vgpr64, Vgpr64}});
659661
660662 addRulesForGOpcs ({G_UMIN, G_UMAX}, Standard)
661663 .Uni (S16, {{Sgpr32Trunc}, {Sgpr32ZExt, Sgpr32ZExt}})
662664 .Div (S16, {{Vgpr16}, {Vgpr16, Vgpr16}})
663665 .Uni (S32, {{Sgpr32}, {Sgpr32, Sgpr32}})
664666 .Div (S32, {{Vgpr32}, {Vgpr32, Vgpr32}})
665667 .Uni (V2S16, {{SgprV2S16}, {SgprV2S16, SgprV2S16}, UnpackMinMax})
666- .Div (V2S16, {{VgprV2S16}, {VgprV2S16, VgprV2S16}});
668+ .Div (V2S16, {{VgprV2S16}, {VgprV2S16, VgprV2S16}})
669+ .Uni (S64, {{UniInVgprS64}, {Vgpr64, Vgpr64}})
670+ .Div (S64, {{Vgpr64}, {Vgpr64, Vgpr64}});
667671
668672 addRulesForGOpcs ({G_IMPLICIT_DEF})
669673 .Any ({{UniS1}, {{Sgpr32Trunc}, {}}})
0 commit comments