<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:hfinkel@anl.gov" title="Hal Finkel <hfinkel@anl.gov>"> <span class="fn">Hal Finkel</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [PPC64] Wrong register generated for inline assembler"
   href="http://llvm.org/bugs/show_bug.cgi?id=21443">bug 21443</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>FIXED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [PPC64] Wrong register generated for inline assembler"
   href="http://llvm.org/bugs/show_bug.cgi?id=21443#c6">Comment # 6</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [PPC64] Wrong register generated for inline assembler"
   href="http://llvm.org/bugs/show_bug.cgi?id=21443">bug 21443</a>
              from <span class="vcard"><a class="email" href="mailto:hfinkel@anl.gov" title="Hal Finkel <hfinkel@anl.gov>"> <span class="fn">Hal Finkel</span></a>
</span></b>
        <pre>I ended up spending just about all day looking at this, in part because I was
hoping to be able to improve our memory operand handling, generally speaking,
in addition to just fixing this bug. To make a long story short, to really
improve things we'll need to have access to the original memory constraint type
('m', 'Z', etc.) in SelectInlineAsmMemoryOperand, and we don't. The calling
code always passes 'm' because it does not have access to the original either.
The code in SelectionDAGBuilder::visitInlineAsm does not save this information
in the SDAG INLINEASM nodes, opting instead for some collection of flags and an
optional register-class constraint -- which is obviously functional, but far
from optimal. I suspect we'll end up giving INLINEASM its own SDNode subclass,
and redo the way that its operands are setup in order to make progress here.
Thus, general improvements will have to wait for another day.

In short, this bug has been fixed in r223318 -- no other improvements yet.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>