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

    <tr>
        <th>Summary</th>
        <td>
            [AArch64] ASIMD load/store can be used instead of SVE load/store
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          k-arrows
      </td>
    </tr>
</table>

<pre>
    Consider the following testcase:
https://godbolt.org/z/hnx1hE5dY
```cpp
#include <arm_sve.h>

// W = 1
svfloat32_t foo1(float32_t *x) {
    svbool_t pg = svwhilelt_b32(0, 1);
    return svld1_f32(pg, x);
}

void bar1(float32_t *x, svfloat32_t data) {
    svbool_t pg = svwhilelt_b32(0, 1);
 svst1_f32(pg, x, data);
}

// W = 2
svfloat32_t foo2(float32_t *x) {
 svbool_t pg = svwhilelt_b32(0, 2);
    return svld1_f32(pg, x);
}

void bar2(float32_t *x, svfloat32_t data) {
    svbool_t pg = svwhilelt_b32(0, 2);
    svst1_f32(pg, x, data);
}

// W = 4
svfloat32_t foo4(float32_t *x) {
    svbool_t pg = svwhilelt_b32(0, 4);
    return svld1_f32(pg, x);
}

void bar4(float32_t *x, svfloat32_t data) {
    svbool_t pg = svwhilelt_b32(0, 4);
    svst1_f32(pg, x, data);
}
```

GCC avoids the predicates for these functions.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyslE1vo0gQhn9NcSnFgmrA9oEDscNqD3uKtKs9WU13Y3qmTVtdDc7Mrx9BksnkQ6NREoTER1cVD4_glcz2OBhTQXENxT6RY-x9qL5eyRD8hZPW62_Vzg9stQkYe4Odd85f7HDEaDgqyQZEDWndx3jm-ZQaoObodetdXPlwBGq-AzX9cJf1N4X-H9IayvR-V-fzfEnCDsqN2iCInQynA09m1YO4mRfTh5H4H4LYYwZpzVPnvIyCDhE77zOgzdMNoPoOaIuwvoa0RkTkqfXeHSKej8sIni69dcbFQysIaJMC7TAD2oJ4bAkmjmFAnpzODt1SdT7OZXc_y2C9v8ebvNXYyvAWxg5_ZdUyyo-h8cTxFdDucfALsGfe6LU3-p23PyKjD0t7i-FTpD1He7-3_LW3_DO-t_zD6t7C-BR1-XvVPf7W95x_7XYoZ1heguMcjLZKRsPY-SVL2GA3DipaP_Aq0ZXQW7GViamydV5uS8o2IumrPMuEVFqU2Xpb6rTrciOUEJ1qtSzXuUpsRSkVaZHNW0lite46vVHrrCw3pixUB3lqTtK6lXPTaY6kxDKPpsrENs-LxMnWOF4SkGgwF1xWgWgOxFDNTVfteGTIU2c58tOYaKNborOug-rLHIo91rd__7NH56UGajj6YFDJAVuDIxuNduBopEbf4e2_N8_qkjG46kWM2tiP7Ur5E1AzP_bhcHUO_otREahZYBmoeXibqaIfAQAA___9arRH">