<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">