[Bug middle-end/82898] New: Aliasing knowledge is not used to replace memmove with memcpy
antoshkka at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Nov 8 10:31:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82898
Bug ID: 82898
Summary: Aliasing knowledge is not used to replace memmove with
memcpy
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: antoshkka at gmail dot com
Target Milestone: ---
This has been resolved once in Bug 21602 but now the issue appears again:
void foo(int* i, const float* f) {
__builtin_memmove(i, f, 1024*1024);
}
Produces assembly:
foo(int*, float const*):
mov edx, 1048576
jmp memmove <=== Could be memcpy
More information about the Gcc-bugs
mailing list