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

    <tr>
        <th>Summary</th>
        <td>
            16bit aligned access uses load_byte with -mno-unaligned-access
        </td>
    </tr>

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

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

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

<pre>
    ```
#include <stdio.h>

volatile
struct s
{
  char c[2];
  int i;
 long long l;
  float f;
  double d;
} __attribute__ ((packed)) s __attribute__((aligned(1) ));

int main() {
        s.i = 0x12345678;
        printf ("%x\n", s.i);
}
```

Lots of load_byte instructions are used. In fact we can use load_half in this case.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxckt2O4yoMx5_GubEaEROa5CIXM5NT6Uj7DhUB0rBLoRvIdGaffpUPTTuLIseYn8H-g4zRXrwxLYhXEF0m5zSGqb3_ifHzt8z6oD9bOLL9Yx2wFyBuvXKzNgj8LSZtQz4C_29fXe17cDJZZ7ZZTNOsEsadqF43B1GNckIF4pVAdMC_4tYntI-5C_6ymydocEEmHJ4iOsy9M6i_QlB1eD7LlCbbz8mczwhUA9U3qX4ZDdQANRi_Ixsh3SKLBqqLhdnQx76rXaq8SuvXjAaf-tpGzC0C75B9FMRLcazqp1q3cZusT8NWFQGJDxBvfnXflvRvZ1bd7vxzHav9EVLEMKALUp_7z2TQ-k12G3xEORmco9E5_u9xkCrh3aCSfgluOaN0A1qPabQRlYwmz3TLdcMbmZm2qFh9FGXNKRvbytTEGUneN4U8FmU_1HUvj0xLUxpVmMy2xKhktFDEOOWVFA1TRgmmNRtqDiUzV2ld7tz7NQ_TJbMxzqatqSKROdkbF9cXSeTNHdfFRRXRZVO75Bz6-RKhZM7GFB-7JJucaYtjbxPuN4hSKRPj0mh8Uudu04iHqw-H2e_kYSOzeXLtmNItAn8BOgGdLjaNc5-rcAU6LYftv8NtCj-NSkCntcQIdFpb-BsAAP__aZD6nw">