[PATCH] D22556: Replace subregister uses when processing tied operands
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 12 18:28:41 PDT 2016
arsenm added a comment.
In https://reviews.llvm.org/D22556#514600, @arsenm wrote:
> In https://reviews.llvm.org/D22556#511686, @nhaehnle wrote:
>
> > Please see http://paste.ubuntu.com/22949830/ for a test case that gets broken by this.
> >
> > The issue is that
> >
> > %vreg8<def,tied3> = V_MAC_F32_e32 1132462080, %vreg3:sub3, %vreg3:sub2<tied0>
> >
> > becomes
> >
> > %vreg8<def,tied3> = V_MAC_F32_e32 1132462080, %vreg8:sub3, %vreg8<tied0>
> >
> > However, something like this change is still required to fix other bugs related to v_morveld/s.
>
>
> This testcase and another related one I found are still broken with this, but I don't
>
> In https://reviews.llvm.org/D22556#511686, @nhaehnle wrote:
>
> > Please see http://paste.ubuntu.com/22949830/ for a test case that gets broken by this.
> >
> > The issue is that
> >
> > %vreg8<def,tied3> = V_MAC_F32_e32 1132462080, %vreg3:sub3, %vreg3:sub2<tied0>
> >
> > becomes
> >
> > %vreg8<def,tied3> = V_MAC_F32_e32 1132462080, %vreg8:sub3, %vreg8<tied0>
> >
> > However, something like this change is still required to fix other bugs related to v_morveld/s.
>
>
> I think the problem with this testcase might instead be SIFoldOperands producing the subreg use on the tied operand. I'm not sure if this necessarily makes sense:
> %vreg15<def,tied6> = V_MAC_F32_e64 0, %vreg14<kill>, 0, %vreg11:sub3, 0, %vreg11:sub2<tied0>, 0, 0, %EXEC<imp-use>; VGPR_32:%vreg15,%vreg14 VReg_128:%vreg11
https://reviews.llvm.org/D23482 solves this. I wonder if it should be a verifier error to have an operand tied with another with different sub reg indices
https://reviews.llvm.org/D22556
More information about the llvm-commits
mailing list