https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110638
Bug ID: 110638
Summary: [13 regression] memcpy should be inlined with sve loop
Product: gcc
Version: 13.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: zhongyunde at huawei dot com
Target Milestone: ---
* test:https://gcc.godbolt.org/z/39KddjbE4
```
void va(struct args_t * func_args)
{
for (int nl = 0; nl < iterations; nl++) {
for (int i = 0; i < LEN_1D; i++) {
a[i] = b[i];
}
dummy(a, b);
}
return ;
}
```
* gcc12: don't transform the loop into a memcpy call, so it can make use of the
new sve feature.
* gcc13: use a normal 'bl memcpy'
The above regression start from gcc13.