<div dir="ltr"><div>Ok, thanks. Interchangeably makes sense, I'm not quite clear on the distinction. If I had a move class and MI for those registers in the InstrInfo.td file then it matches the MI based on the register classes of input, output. That doesn't help me with sign.</div><div><br></div><div> So, can you point me in the general direction of where I should be looking to fix this? I thought they had a similar issue with the R600 trying to copy between different register types and they put in an explicit hook in ISelDAGToDAG?</div><div><br></div><div>Thanks.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 27, 2015 at 4:17 PM, Matt Arsenault <span dir="ltr"><<a href="mailto:Matthew.Arsenault@amd.com" target="_blank">Matthew.Arsenault@amd.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF"><span>
<div>On 01/27/2015 01:15 PM, Ryan Taylor
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">So you don't think it's the CopyToReg, it's the
CopyFromReg potentially. If that's the case it's still somewhat
of the same issue right? I still need an ext instead of the Copy
Node.</div>
</blockquote></span>
I use them interchangeably. It depends on where it's coming from. If
the size is changing and the move doesn't implicitly extend, then
the copy is probably wrong and should copy to the same sized
register and then create the extension.<span><br>
<br>
<blockquote type="cite">
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Jan 27, 2015 at 4:06 PM, Matt
Arsenault <span dir="ltr"><<a href="mailto:Matthew.Arsenault@amd.com" target="_blank">Matthew.Arsenault@amd.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><span>On
01/27/2015 12:50 PM, Ryan Taylor wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">
I have a CopyToReg that is moving a 16bit reg to a 32bit
reg, it's currently being mapped out as a simple mov
(not an ext), I would like to change that to an ext. It
seemed that the SelDAG was the easiest and cleanest way
to do this.<br>
<br>
I can change the mov to an extension MI in the .td file;
however, I can't tell at that point whether it's a sext
or a zext, so it seemed the SelDAG was the better place
to fix this.<br>
<br>
</blockquote>
</span>
I guess that depends on where the CopyFromReg is coming
from. If you need an ext instruction for the copy, it sounds
like the CopyFromReg that makes this copy is a bug in the
first place.<span><font color="#888888"><br>
<br>
-Matt<br>
</font></span></blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</span></div>
</blockquote></div><br></div>