<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/56781>56781</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            arm_neon.h defines polynomial types as unsigned ints
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Jmc18134
      </td>
    </tr>
</table>

<pre>
    The Arm ACLE (https://github.com/ARM-software/acle/releases/download/r2022Q2/acle-2022Q2.pdf) defines poly8_t, poly16_t, poly64_t and poly128_t as unsigned integer types (section 13.1.5), but <arm_neon.h> currently defines these as being signed integers when not on AArch64. 

>From NeonEmitter.cpp:
```
// For now, signedness of polynomial types depends on target
OS << "#ifdef __aarch64__\n";
OS << "typedef uint8_t poly8_t;\n";
OS << "typedef uint16_t poly16_t;\n";
OS << "typedef uint64_t poly64_t;\n";
OS << "typedef __uint128_t poly128_t;\n";
OS << "#else\n";OS << "typedef int8_t poly8_t;\n";
OS << "typedef int16_t poly16_t;\n";
OS << "typedef int64_t poly64_t;\n";
OS << "#endif\n";
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydVE1vnDAQ_TVwsYLAwC574EA2yaHqh_pxRwYP4MrYyDZd7b_v2GSzShS1SSQLe_DMm_dmbHean-tfE5DGzKQ5fr4nEa0m5xYb5U1EH3CMwk1rl_R6RqP58eXG6sGdmAE0WS_9ZEACs2BxyfVJSc24_0tTSr_TR7ebzUoWPkT0QDgMQoEli5bnqnURPYZltruud0XrCFN826CVtyxZlRWjAk6EcjCCIe68IA7SttA7oRXJ8iRLSkzigbrVkSg_MjO3CrRKpii_J_1qDCgnz0803AQWPHwHQo3keQpLThMoorQjCN80pp92RUKi9C5Km-37YPRMvmKC-1k4Bybpl8VXcHPZpY9jM0NZyYM2CHnyJLd0yMMSPQS5Ss-CyUdtHBZQ3PrkjpkR3Ibz7adXhgPFY5VzMaAa0raMBYJtG5VH5bfy21cCPLT3X1GkL-2lEej81jDfrGvX3hEYOntp8VsD2zbkpBeyYfW_YCwLSAtXn1ehP1aCj1bgvQXwGhQXw0unp2MVQ53tykNKs31exbzO-SE_sNgJJ6G-nvxnd-7ZAXtxrWy8Gln_4xWQ8s9lulmM_o0XD01h7RregHK3r7J4qodqz_d9l8O-Kg6sHwpe0ZKVvIICuq5ksWQddqeOylvUpeBEAoTXWN7FovYvRrqnVVZSlJakGXDGKLCUct5DGRUpzEzIxPNItBljUwdK3Tpa3JTCOnvdZDYohJAO8dnqJm3qT3OfVVlexCF3Hbj_BRoTiKw">