<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJylU82OmzAQfhpzGS0CGxM4cEg3W6lqe-kbGDyAtyZOGbNp8vR1TLJNox4qVRpgxvPzfeNhWqdPzac9kJsQOkVIcBxxRqDR9B4MQe-sdUfU0J6gpaM6gB_xpp0OCJMKDoQZ9dKhTlm2Y9n2JR1SWFVWZqtY-zatRwCMSw5M7OCMPwNMXl5OMvAOTFncBYkYRKOF_XK8-GIm489QVHdhRQzzytjQhLVrYBER00g1vZTl1bWAYLy-y5Zr9rzsuxtEEank5UMLq0mjW6yG14V86Pxfurxjdmn1T2YBJTC7XsE7swfM9T16fyAmtox_DDI43TrrUzcPwTqHp_9Ro6zzl69_C1fWvCFPI_Sa0uE1b6bvu89fEt0IXYtaJWrxo5ubbuwV-WSZbfOAbPy4tGnnpmDEjtfP02F2r9j5YBqiBSkoUlTlJhmbKu9ELjZl30upuaxL3ZV8k2965LqsJU-satFSw-QHxnksKrbu4M1kzsobtw_FOJO75P_JmIZnPEgu8zoveJYWNa941ouib4WoiixMCKcws_fLSuYmlmyXgS7jM-Tpt1MRmWGPGLkHht54i823uBG3VXFAU_gBcI5bk0RGTaTzC1ZRCL0>53867</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Reduce bswap to smaller type
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm:optimizations
      </td>
    </tr>

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

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

<pre>
    In some cases where shift is followed by bswap the bswap type may be reduced.
E.g. 
```llvm
  %2 = zext i16 %0 to i64
  %3 = shl nuw i64 %2, 48
  %4 = tail call i64 @llvm.bswap.i64(i64 %3)
  %5 = trunc i64 %4 to i16
```
should just be
```llvm
  %2 = tail call i16 @llvm.bswap.i16(i16 %0)
```

https://godbolt.org/z/fq9e591EM
https://alive2.llvm.org/ce/z/rskDKL
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyNUU2PmzAQ_TXmMioytqFw4JButlLV9tJ_YPAQvGvilDGbJr--jkm2adRDJYNnPB_vvZnOm1P7ZQ_kJ4ReExIcR5wRaLRDAEsweOf8EQ10J-joqA8QRrxZpwPCpGMAYUaz9GhyxreMb57zXQ6rySq-HufepvUJgIlSAJNbOOOvCFNUlxcOwYOt1F2STEk0Otgvx0ssVTLxBKq-S1MpLWjrogjn1kSVEPNENb-0FfW1gWSiuasu1-p52fc3CJWoFNWDhNWl0S_OwMtCISr_H5V3zC5S_2YWUSKz6wjemT1grv8xhAMxuWHiczw7bzrvQu7nXfTO8Rt-Nlg2xfP3f6VrZ99Q5Al6LenxWjfT6_brt8y00jSy0VmwwWH7I630tmsPNEUFOKe1Z8vs2gc6NoxLl_d-ik4aw3p9OMz-BfsQXUu0IEWjlHX1MRvbrqw6U5VYGqGwFibetcJqGPgwFILzzOkOHbWs_MSESE3lxh-CnexZB-v3sZlg5TazreAinqIsmkIJnqtG1IIPUg2dlLXiceg4xTW868_mNrHrlh1dNmIp0J-gJrK7PWJCjv31EkY_t_04aApZ0tEmEb8BUDHz3w">