<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/57502>57502</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[AArch64] Improve codegen for "trunc <4 x i64> to <4 x i8>" for all cases
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AArch64,
llvm:codegen,
missed-optimization
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
minglotus-6
</td>
</tr>
</table>
<pre>
(This arises in the review of D132784)
https://godbolt.org/z/T4rTqf1Tx shows 1 uzp1 + 1 xtn is generated, which is good.
https://gcc.godbolt.org/z/oYEha6o7q shows 2 xtn + 1 uzp1 is generated. This could be improved to 1 uzp1 + 1xtn as above.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx9kUuP2yAQxz8NvqBYGNuJOfiQ3Wyl3nPpkcfE0GKTBZyk-fQdOxttH1Il42Eemh__GRXMz57w7mhdojK6BIm6iWYLNMLFwZWGEz1UNd91DeGCsANh-8ff5nxOpN4T_gW_IRgVfC5DHNC74zk28fh-qo43mmy4JlrR-X6uKOEveL3liSJxgAmizGAIf6VX67RdoyGY8j8orct_ceHbm5XbsHv_wPGV8aCt4N9xJV0F6zB7QxVQN55juIChOfzxzqWFxMEoTJYF9NV2y1nTdJ0oTF8bUQtZZJc99KR92e-jttuGtAf69dEPAQYQSk8hYkOe4zxpSurXht6ow9L6bSE-Ax36WLVWS--plriOYo6-_2sALttZlTqM6Hh_eZoNQr-Dzui6lGZIeGl3LeOF7aWuG7lTRqNltW5Pula8VlpUJ1CigcJLBT4tOvAJSuofMBkkPkVxvqwIzcqr9x_KPuMjIsFswjm70d1ldmFNtofC9ZxxzgSrqpZ1TJQ7oTiDrhGV4CBMQxoGo3S-XHovKy1iv-pR85Aw6V3K6TMpU3LDBOvMl_5yzjbEfnTT4EOe02ZbrPL7VfsvZ5bl1A">