https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82898

--- Comment #3 from Antony Polukhin <antoshkka at gmail dot com> ---
> At least in the gcc model, the type of a pointer is meaningless 
> as long as you do not dereference it using that type<...>

OK, does dereferencing the pointers change anything? 

void foo(int* i, const float* f) {
    i[0] = f[0]; // Does it triggers the aliasing logic?
    __builtin_memmove(i, f, 1024*1024);
}

Code from above still uses memmove, instead of memcpy.

Reply via email to