<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>