<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 --- - clang-cl can't use _tzcnt_u32"
   href="https://llvm.org/bugs/show_bug.cgi?id=25544">25544</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>clang-cl can't use _tzcnt_u32
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

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

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

        <tr>
          <th>OS</th>
          <td>Windows NT
          </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>-New Bugs
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>hans@chromium.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>echristo@gmail.com, llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Example:

unsigned f(unsigned x) {
  return __tzcnt_u32(x);
}

bin\clang-cl -c /FIIntrin.h d:\src\tmp\a.c
a.c(2,10) :  error: always_inline function '__tzcnt_u32' requires
      target feature 'bmi', but would be inlined into function 'f' that is
      compiled without support for 'bmi'
  return __tzcnt_u32(x);
         ^


I think the problem is that on non-Windows we only expose these intrinsics when
BMI instructions are available on the target, but with MSVC they're always
exposed and emulated as necessary.


(This started showing up recently in Chromium after an ffmpeg update.)</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>