[PATCH] D22556: Replace subregister uses when processing tied operands
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 12 17:40:13 PDT 2016
arsenm added a comment.
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/D22556
More information about the llvm-commits
mailing list