<div dir="ltr">Tim,<div><br></div><div>I think you are meaning VPR128->FPR128->VPR64 is ugly.</div><div><br></div><div>So do you mean we should completely remove register class VPR64 in AArch64RegisterInfo.td? And then we should define a new operand type derived from RegisterOperand to describe 64-bit vector register operand in patterns instead?</div>
<div><br></div><div>Thanks,</div><div>-Jiangning</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/11 Tim Northover <span dir="ltr"><<a href="mailto:t.p.northover@gmail.com" target="_blank">t.p.northover@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Kevin,<br>
<div class="im"><br>
> I see in AArch64RegisterInfo.td, Vx is defined as subreg of Qx, but there is<br>
> no belonging relation describe between VPR64 and VPR128. How can I define<br>
> VPR64 is subreg of VPR128 while both of them hold same register name Vx?<br>
><br>
> Or, Do you know any dag node can do such promotion without introducing<br>
> instruction?<br>
<br>
</div>Hmm. This sounds like it might be the reason RegisterOperand was<br>
created. I mentioned before that Jim Grosbach suggested (back in<br>
January) we use that instead of our odd scheme with "sub_alias".<br>
Postponing that move is probably just going to cause more problems in<br>
the future.<br>
<br>
The way to describe it within our current hierarchy would probably be<br>
an sub_64 extract (the relation is transitive, I believe, so VPR128<br>
does have FPR64 as its sub_64) followed by a sub_alias insert. I.e.<br>
VPR128 -> FPR64 -> VPR64. But that's horribly ugly.<br>
<br>
Unfortunately I can't reproduce the error you're seeing with any quick<br>
tests, so this is purely theoretical speculation.<br>
<br>
Cheers.<br>
<div class="HOEnZb"><div class="h5"><br>
Tim.<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Thanks,<div>-Jiangning</div>
</div>