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

    <tr>
        <th>Summary</th>
        <td>
            Clang error on aarch64: error in backend: Don't know how to widen the operands for INSERT_SUBVECTOR
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    The testcase
```
long long a;
short b;
long c;
long d(long e) {
  if (e < c)
    return c;
  return e;
}
void f(short e[][12], long long g[][2][2]) {
  for (int h;;)
    for (int i; i < 10; i += e[-1][4])
#pragma clang loop vectorize_predicate(enable)
      for (char j; j < 012; j += 4) {
        b = g[1][h][j];
        a = d(a);
      }
}
```
crashes with -O3 -march=armv9-a
error in backend: Don't know how to widen the operands for INSERT_SUBVECTOR
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysU81u8jgUfZqbzRUotvO7yKLAhzSbqdR2Zls5zg02hBjZBjTz9CMnGVq6_hDK_TmOz7nHjvTeHEaiBvIN5LtEXoO2rjmFk1Ta3pLWdv80H5owkA9KeoJ0B-kLFOnyn8rBjgecHhLEZu55bV3A9lFPsHouO-DVlBDwGqFcMETTI_CKEMQWFfD6_z6io3B147eNHi16tKDczcnNmg574NUshuYhId8wHiPf4pfywwPk38KzrN66qMuMAXVkE5snbd9gA2KDZtLP0iXnGxC7ScSKzRTZTLGo5uLi5OEsUQ1yUmUveCMVrDP_0ufFUWeUDBSNGWU70BP3g11p6fAYKY8Tfcr4Usz82Y-Z5l-LEYseLNL0HI4xiB-L5bQ4Hp6MGp7hh_lfyfNlUU56TR7vJmhcvQpcnaVTGsROuvOtXsl5GTlnHZoRW6lONHYgXnBnR-BlwNNo76jtHYPFu-loxKAJ7YWcHDs_OfHHn--_3j4-3__a_P1r-_H6lnSN6GpRy4QaVnJelQVjVaIbVamiyCnviz7te05l0WWsZGWtRC2yWiWm4SnP0irNWZGxvFrzvO-ygjEpirrNWAFZSmdphvUw3M5r6w6J8f5KDUt5yopkkC0NfvrAOJ-OFni8W4lr4gur9nrwkKWD8cF_bRFMGKjZTjdhtsKOKKNRRRat-N32XN3Q6BAuHsQL8D3w_cEEfW3Xyp6B76OuJawuzh5JBeD7aU4PfL-Memv4fwEAAP__Vyw3xg">