https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91449
--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> --- The difference in the memcpy folding (done in gimple_fold_builtin_memory_op) is due to i386 target (an a few others) defining the MOVE_MAX macro to 16 while powerpc64 (and many others to 8), and quite a few even 4. /* Max number of bytes we can move from memory to memory in one reasonably fast instruction. */ # define MOVE_MAX (! TARGET_POWERPC64 ? 4 : 8) #define MAX_MOVE_MAX 8