http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58853
Bug ID: 58853 Summary: [4.9 regression] ICE after r203937 Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ysrumyan at gmail dot com After fix for memcpy/memset expansion on x86 target we have met with ICE on the following simple test: void my_memcpy (char *dest, const char *src, int n) { __builtin_memcpy (dest, src, n); } which must be compiled with -m32 -mtune=pentiumpro -minline-all-stringops options. The issue is an assert: gcc_assert (desired_align <= size); in expand_set_or_movmem_prologue_epilogue_by_misaligned_moves but for pentium-pro we have the following exception for desired_align calculation: /* PentiumPro has special logic triggering for 8 byte aligned blocks. copying whole cacheline at once. */ if (TARGET_PENTIUMPRO && (alg == rep_prefix_4_byte || alg == rep_prefix_1_byte)) desired_align = 8;