<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/55484>55484</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
miscompile from multiple backends
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AArch64,
llvm:codegen,
miscompilation
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
regehr
</td>
</tr>
</table>
<pre>
here's a function:
```llvm
define i32 @f(i32 %0) {
%2 = lshr i32 %0, 8
%3 = shl i32 %0, 8
%4 = or i32 %2, %3
%5 = trunc i32 %4 to i16
%6 = sext i16 %5 to i32
ret i32 %6
}
```
we believe that `f(0x00800000) -> ffff8000` but the top-of-tree arm64, x86, and x86-64 backends are all emitting code which says that `f(0x00800000) -> 0`
```console
Johns-MacBook-Pro:~ regehr$ llc -o - foo.ll
.section __TEXT,__text,regular,pure_instructions
.build_version macos, 12, 0
.globl _f ; -- Begin function f
.p2align 2
_f: ; @f
.cfi_startproc
; %bb.0:
rev w8, w0
asr w0, w8, #16
ret
.cfi_endproc
; -- End function
.subsections_via_symbols
Johns-MacBook-Pro:~ regehr$
```
cc @ornata @nunoplopes @ryan-berger @nbushehri @zhengyang92 @aqjune @Hatsunespica
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyNVM2OozgQfhpysYiMgYQcOCTTPRqttNIe5rA3ZJsCPGMwY5t09z79lk0Sekba3kEIylVf_VdZmPatHsBCwo6OcNItk_TKTEl-TuhTQs_Jga6v1tdxZbXQqQmIyhlJCtolrIokK2nCTiQ5XlYYCSzk509Eu8GSDfSJVO8geYS4Qf8noogI8zDBAiBovsOUEeMtxn-HFcQborLDO9Rh9QWvPghWvQDK2R1kwd_1b4rJ8emXUtyO8fsCRIBWcAXiB-4JikNF6CulFQ1PqEma5M-kwyewEEHE4hGOKmZOTZd6C0C4HQ9FyOy1OoQfn9pApoeCCC6_w9RigyzitCYwKu_V1BNpWiAvg5IDcfzN_V8Mv0b_SEmayRkNK_cPM0wu_ZPLizHf07-sCdNwfMba9DDYhBVEa0lSQ1LSGbPX-m7ytHewjg89Nc3X57-_YiJN47HeSKD6ojnqf5oXC42aHLYrwt1mQCxKt80VrEM-Gbk0LhQjiz2nG67XRujgpiMfPkl-IWlKLtCr6THdpNsMzYxr1YeIbzPQdJjux0bf2Y4b8DAmO9U4z62frZE3dgCxUog93ZaKnixc8ftShbRetry4s4EdV2AVJiy_j3BU8z97w7HYfP1W1FtRnnHCHgsfDezdIm4tdM1V8ca9jcJo97tz8cGiSBlqZezEPQ_UtExm1mYGF072jU-pANuDjUKxuAFtqnD4Z4CpR3l_ihcO__FtwesHqS_cOyTdrCTftXXenvIT33nlNdSjctKMs9JAOmtGMi7aqxlP913aLVbXg_ezC1mwz_j2yg-L2KMeHuJ9t_5SrPA3rAoelXML4ER-LsuiKnZDnRVC0Lwri1ycZF6dqrwoj1VXtlUnjhlUO83xfnB1Ul4Sxm7O0eP5bOUQ9v12mbHoLz-Hhe5h2viPRHhsE_LLp52qGWWMllmZVVlGs708ABqHqsskZXlbYHVg5Ervg9m9sf3O1jEVsfQOhVo57zYhdw53ACCGifb54gdj67Wxu5h0HTP-F7r0uVw">