<p dir="ltr">Sure.  I guess I was hoping for something else, but I don't have a strong enough opinion when someone else really wants something </p>
<br><div class="gmail_quote"><div dir="ltr">On Sat, Apr 9, 2016, 9:58 AM Hal Finkel <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">hfinkel added a subscriber: hfinkel.<br>
hfinkel accepted this revision.<br>
hfinkel added a reviewer: hfinkel.<br>
hfinkel added a comment.<br>
This revision is now accepted and ready to land.<br>
<br>
In <a href="http://reviews.llvm.org/D15614#338347" rel="noreferrer" target="_blank">http://reviews.llvm.org/D15614#338347</a>, @tstellarAMD wrote:<br>
<br>
> In <a href="http://reviews.llvm.org/D15614#324163" rel="noreferrer" target="_blank">http://reviews.llvm.org/D15614#324163</a>, @echristo wrote:<br>
><br>
> > They did it via this:<br>
> ><br>
> >   class PPCReg<string n> : Register<n> {<br>
> >     let Namespace = "PPC";<br>
> >   }<br>
> ><br>
> >   // We identify all our registers with a 5-bit ID, for consistency's sake.<br>
> ><br>
> >   // GPR - One of the 32 32-bit general-purpose registers<br>
> >   class GPR<bits<5> num, string n> : PPCReg<n> {<br>
> >     let HWEncoding{4-0} = num;<br>
> >   }<br>
> ><br>
> ><br>
> > Where it just sets the register rather than using the default. Take a look at lib/Target/PPCRegisterInfo.td.<br>
><br>
><br>
> I'm not sure we are talking about this same thing, because this code appears to affect the encoding value and not the assembly string.<br>
<br>
<br>
That's right, this is a different issue. PPC does have a workaround for this:<br>
<br>
  // r[0-9]+ are used, on PPC64, to refer to the corresponding 64-bit registers<br>
  // (which we call X[0-9]+). If a 64-bit value has been requested, and a<br>
  // 32-bit GPR has been selected, then 'upgrade' it to the 64-bit parent<br>
  // register.<br>
  // FIXME: If TargetLowering::getRegForInlineAsmConstraint could somehow use<br>
  // the AsmName field from *RegisterInfo.td, then this would not be necessary.<br>
  if (R.first && VT == MVT::i64 && Subtarget.isPPC64() &&<br>
      PPC::GPRCRegClass.contains(R.first))<br>
    return std::make_pair(TRI->getMatchingSuperReg(R.first,<br>
                            PPC::sub_32, &PPC::G8RCRegClass),<br>
                          &PPC::G8RCRegClass);<br>
<br>
and I'd like to get rid of this.<br>
<br>
This seems like a good first step; LGTM.<br>
<br>
<br>
<a href="http://reviews.llvm.org/D15614" rel="noreferrer" target="_blank">http://reviews.llvm.org/D15614</a><br>
<br>
<br>
<br>
</blockquote></div>