<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/69822>69822</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[AArch64][SVE] use structure load ld3, but not structure store st3
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
vfdff
</td>
</tr>
</table>
<pre>
* test: https://gcc.godbolt.org/z/d1W8b5j3K
```
typedef struct {
float x;
float y;
float z;
} patic;
int foo (patic *ps, float factor, int num) {
for (int i = 0; i < num; i++) {
ps[i].x = factor * ps[i].x;
ps[i].y = factor * ps[i].y;
}
return 0;
}
```
* llvm already choose the structure load ld3, but not structure store st3
```
.LBB0_4: // =>This Inner Loop Header: Depth=1
ld3 { v1.4s, v2.4s, v3.4s }, [x11], #48 ---------- expected structure load ld3
subs x10, x10, #4
fmul v4.4s, v1.4s, v0.s[0]
fmul v1.4s, v2.4s, v0.s[0]
ext v2.16b, v1.16b, v1.16b, #8
ext v3.16b, v4.16b, v4.16b, #8
zip1 v5.2s, v4.2s, v1.2s
zip2 v1.2s, v4.2s, v1.2s
zip1 v4.2s, v3.2s, v2.2s
zip2 v2.2s, v3.2s, v2.2s
str d5, [x12]
stur d1, [x12, #12]
str d4, [x12, #24] ------- unexpected normal str & stur
stur d2, [x12, #36]
mov x12, x11
b.ne .LBB0_4
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVUuvqzYQ_jXDZnSQPea5YBEON2rVu2vVLiseJnBFMMImTc6vr-yQ10mOelULMbbnm9fnAZda97tRygzCHMLCKxfTqTk7tE3bepVqThnQBo3UBsQGO2MmDWIDtAXa7ura36mmUoPx1bwD2n4AbRv-V1KFP8RvwApgG4jY-rilOU2ykS1qMy-1QYjz8z4iYjuo0uARxNPe6cXex3UP4gKn0vT1bce9-9FgqxQCJU6NQJtJA72vHtqyNmq2a4sclz1Qep9Rq2Zra5U9giiQgcjd9N2h7QIod8-dIbB00hDmPYSFf3SG50g2Pt6pHoq67Z--NrnnAeLiMp2lWebRpXdl5CX765s2OAyHPZbDLMvmhHWnlJZoOrmeyzJLHFTZ4NAIy0-1GByVudNqo9xbvIzjf89z9ndgW-Y_xrmTbMUgvv3R9Rp_HUc543elJvxFlo2crZdCTqYDUfAbYXYMjTh7iXM8cD9wh3ugy0T4gXY80TtCmB85h_C8IBEkD3m8XQfK4yRrI5tXXDxE10ul8ciZ9bgK6_gR1O6XwcpDcMnqmifz7cEym9OzyYtyvsLLo3HyQD6PqjXG0wxIJKvd1UBcYcHz7M5gHR_9xJ1d6JNewXQpivQTmByY_xyYryzR5ezoUv6XnuknwNrMTjbhtQvoxqA2i1M3_E57rv0e9tlX8ISmAMLi0kWIy3jtolHN-3JwtkDROeJnt2sS9ORWRE9J7NXByRVkm_pBX_mjtPLyDT5-n16TiSYVaenJjEdpnMRpFDKvy4KQVVEbRCwsZVXJOE5EmkjeBpxHnDXc6zNiJDgjzlIecOZXSRu1EUmZlHUp4xgCJvdlP_j232IvBK_XepFZlCZE3lBWctDumiEa5T_olECWZW_OrM1btew0BGzotdE3L6Y3g7ufNpu57iJLNIT5739-s4wv-n_8s7xlHrJPd1lvuqXya7UH2trQq3ibZvVD1gZo6xLWQFtX0L8BAAD__6mb5qk">