https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120903
andreser-gccbugs at mit dot edu changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andreser-gccbugs at mit dot edu --- Comment #6 from andreser-gccbugs at mit dot edu --- The use case we minimized this test case from has the pointer a distinct from &r. Here is a new minimized version: https://godbolt.org/z/MqjKTc18M int main() { uint32_t r = 1, a = 0; funny_memcpy(&r, &a, sizeof(r)); return r; } GCC still emits 6 instructions of overlap test.