<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Constrained FP operations should have implicit use/def for FP environment registers"
   href="https://llvm.org/bugs/show_bug.cgi?id=31284">31284</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Constrained FP operations should have implicit use/def for FP environment registers
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Core LLVM classes
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>andrew.kaylor@intel.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>This is a pre-emptive bug for the implementation of constrained FP intrinsics. 
When these intrinsics are translated to machine instructions, an implicit use
and/or def of target-specific FP environment registers should be added to the
instructions selected.  These registers aren't currently modeled for FP
instructions, and for the default, non-constrained case it probably makes sense
to continue not modeling them, but when the constrained intrinsics are used
these accesses need to be modeled to prevent unwanted code motion.

For example, if a program uses an intrinsic such as llvm.x86.sse.ldmxcsr to
change the rounding mode we need to be certain that FP operations are not moved
across the LDMXCSR instruction.</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>