<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJylVk1zozgQ_TX40mVKCGPDwYfEGdfksLWX1NbeKIEEaEogCklOvL9-W4AdM062JrMOwUbqfnp66g8Kzc_7B6jEK-gKtBtAdlYMHVNghbEGjGWDFRyshopJBYMoRWfVGV4bWTbwDIU0opwtSt220kKxKbKdKNMoZoQmaUIIqWLCyh1PYso5221EWlSchfDQcQQSHdhGXLxfmQHFkASudRJ-8YAeRoM7Rj0zBljNZBcG5CkgD9P9ecRghRIjqUEg2ghQaaX0q-xqMC1TCpfwkFAy4-eZxRX7QXNXCjPaS2OcCOIZNtiS-RofxZsXCgJKD_gPJy059APKVwU0DcMwoFkQP062VrS93xME8cGee9GxVsDLuK_5KYi_wQv6a4tq5p1rEeQFD8PbICaCQbB7RILW4aI4Hj_iwNN_wi8guei-BIkwXFTeEIy3vm5lnnCdkXWH5-A-nPV-ec6sHWThrMhzXBwvFC0_IR095N4UR1Kv03iNTukdlPkdKPMhlOuk7vymp2GYzIBdDWHiAMV1BAWZ3PLRNl9yNHZwpb1FdD8hen8fZNssn4xzyaPNZhtfLSaP2cZPJlmKgCmJt7ss8YeFW3PTga0jf0AXTy9My_yBpvNhLllMYBuMik84hLc7_8Ti1vvC7t3ppDHuJCbanUbj6ltCboznkRlznd3JPuFHuJ_bRIgPk-ioxBRr39Bg3psfnDZPjxes5WcZ_xcKxcXxNkvhPX8xowOavMH1FiSHbhw8XFkmjzRInpYj0d3IZJPdBsSH5eRFv1efm-KDWFgXey_xq7QN6N7KVv6DousOaxzWz4e__gbMeKx2PITvYvCeI4B2tnfW13X_hND1wFooRKWHaYWyYV0tfHiVesDCjpVQczGS_bjkBRSDaYfyH81Q4t31GC2CYa06JmlaRTRinG15solSmhFBd1FRsoryqMBxbANZRNdKdu4NHQoft8dSIQVY_0lh3bLT2xhoYdn3sNbT71prHgpVvRPAwnpcTME0RwD_PqT9UPlu8qtdaaHWpKFZdo_fkOdXF_-qPCjsJ-osZghEn2gz3zcE08Q3XVk3FneLIdToXlROYatvhOoNnLXz7XQZpPgbA6-dYvPs3x_moDJ66qjeq2S-vZyQlax9l5I2XPF9zLM4YyvmbKOHPT-7rl65Qe0ba3vjJcaMpscagV0RYg7gg1Kny9caV_6BIYuPY6IYH4PxNktWzT4ty-0mrhipSElolKQ8FYyRHSMZJ1lZrBQrhDJ7zE5M6Q7ffeZc87m6-v8M5J4SildESJrEhIZ8E-MBZ0UhqEjKXYVyCyzcKvQ4oR7q1bAfIQtXG5xUEl903ifxLce3WjESRoZWWiX2fzybS2VgXwrw1Uh3P3L9F2DRCco>53695</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            MIscompile after b4b97ec813a02585000f30ac7d532dda74e8bfda
        </td>
    </tr>

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

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

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

<pre>
    A few of our internal tests started to fail recently which I bisected to commit b4b97ec813a02585000f30ac7d532dda74e8bfda. And when the commit was later reverted, the tests started to pass again.

I was able to create the following smaller test case that reproduces the issue:
```
extern "C" void printf(...);
template <typename T, typename> T protect_num(T in, int) { return in; }
template <typename T> T protect_den(T in, int) { return in; }
typedef int sint;
typedef unsigned uint;
typedef uint __attribute__((ext_vector_type(8))) uint8;
typedef sint __attribute__((ext_vector_type(8))) sint8;
typedef union {
  sint8 a;
  uint8 b;
} union_sint8_uint8;
struct {
  uint8 a;
} test69_struct_id14463;
uint8 test69_id14598{8036795, (uint)-1};
int main() {
  uint8 id14594 = test69_struct_id14463.a;
  test69_struct_id14463.a = test69_id14598;
  volatile union_sint8_uint8 id14600;
  id14600.a = -9;
  uint8 id14591(protect_num<uint8, uint>(id14594, 8) /
                protect_den(id14600.b, 8));
  printf("%x %x %x\n", id14591[2], id14591[1], id14591[2]);
}
```
To reproduce the issue, compile with optimizations and AVX enabled. Here is the output of the program before the change (correct code):
```
$ ~/src/upstream/588f121ada6d5418290e271bcaf2d1bada500912-linux/bin/clang -O2 -mavx test.cpp -o test.good.elf
$ ./test.good.elf 
0 0 0
```
After b4b97ec813a02585000f30ac7d532dda74e8bfda the program outputs the following:
```
$ ~/src/upstream/b4b97ec813a02585000f30ac7d532dda74e8bfda-linux/bin/clang -O2 -mavx test.cpp -o test.bad.elf
$ ./test.bad.elf
0 1 0
```

@rotateright this hopefully helps you to reproduce the problem with your change so that you can investigate it.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydVk1vszgQ_jXkMgoCEwIccmjTN9oeVnupVntDBhvwymCE7bTZX79jTNKwbVdv35SSMJ555vF4PqgUuxweoOGvoBpQdgIxGD4NVILh2mjQhk6GMzAKGiokTLzmg5EXeO1E3cEzVELzetGoVd8LA9WuKjJe53FCI5LmaRRFTRLROmNpQhij2Y7nVcNoCA8DQyA-gOn41fqVapAUSaCvM3fOA3KcFT4wGqnWQFsqhjCInoLowd-fZwxaST6TmjiizQCNklK9iqEF3VMp0YWDhJpqt04NehwnxWzN9awvtLY8SBbYYB8t1_zI31ygICDkiP9wVoLBOGH4moDkYRgGpAiSR69reD-6PUGQHM1l5APtObzM-1qeguQHvKC9MhjNcrA9grzgYTgdxEQwCLJHJGgsOkV58oiCp_-FX0EyPnwLEmEYb5wiaKd928qyYAct2gHPwX666uzKkhozicoaXpboHC8MWnlGOmoqnSpKchen-ZqN8g9Q-leg9KdQdhBqcJv2YvBqQG-K4DlAdZNgQLxZOeuWa47aTLY294j2P4jO3iXZvii9cilYvNvtk5uGt1h03GJa5AiYR8k-K1J3WLg16w9sG7sDulq6wPTUHWi-HOaahQfbYVZ8wSG83_kXGvfWV3bvRmeFeSew0D7EaPa-j6I75UWyYG6LD2H3-DHu574QkqMPOkbC59oPVFj25oR-8-R0xVp_1vl_pVBdDe-rFN7rFys6IOkb3G5Behxm4fHGMn0kQfq0lsQfJF6nuE-IT9vJi3rvPnfNB7GwL44uxK_CdKBGI3rxDwZdDdjjsH8-_PkXYMVjt2Mh_MYnZzkDKGtGa1xfd08I3U60h4o3avIe6o4OLXfpVasJGzt2QsX4TPbzlhcQTKYMw3_SU413O2K2cIq96pTmeROTmDK6Z-kuzkkRcZLFVU0bwuIK5TgGiphspRjsGxpULm9PtUQKsP2DwLan57c50cJ6HGGr_O9WKRZy2bwTwMZ6Wi2BX4sA_z6l_dC4afKzU2kVLR9DvZ4evxCen3X-3fBgYL-IzmolgviL2Cz3XYRl4oauaDuDu8UU6tTIGytx1Hdcjhouyrpxuk5S_I2J1_vcvLj3hyWptPIT1VnV1I2XM7ISrZtSwoQbdkhYkRR0Y4SR_PD7s76mOf3WaW3sJA-dMaN2p4JNgJxa5GKrEPHwQcrz9WuLZP_GLMfHuba0S9tkX6Sb7lDwOKNFwnY5pYTt66yomypjbI-vOxHbxxtJKy71AQsau8CAr0tLebry3ogDiQhecRTlaRKRkO0SJFhUFSc8rbMG48uxU8vQ8QjV1G6mw0ypsq3GRSnwzeZ9EV9r3GzlszvEp9Z0ajqwix3azez4MBP_F0Ai9Ls">