<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - Poor codegen for char loads/compares on arm64"
   href="https://bugs.llvm.org/show_bug.cgi?id=48555">48555</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Poor codegen for char loads/compares on arm64
          </td>
        </tr>

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

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

        <tr>
          <th>Hardware</th>
          <td>Macintosh
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>MacOS X
          </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>C
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>per.vognsen@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>blitzrakete@gmail.com, dgregor@apple.com, erik.pilkington@gmail.com, llvm-bugs@lists.llvm.org, richard-llvm@metafoo.co.uk
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Here is a repro with a .c file and the corresponding .s file built with clang
-O3 -c -S: <a href="https://gist.github.com/pervognsen/e1a5ba99ede4b630ed08df8ded87f27e">https://gist.github.com/pervognsen/e1a5ba99ede4b630ed08df8ded87f27e</a>

These redundant instructions are the issue:

and w9, w9, #0xff

The defs for w9 are ldrb instructions, so there is no need for these masking
operations before the compares.

(This issue was first discovered with Apple's build of clang that ships in the
latest Xcode toolchain, but I reproduced it with a self-built version from
trunk.)</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>