https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64905
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |law at redhat dot com Component|target |rtl-optimization --- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> --- It looks the failure is due to: emit-rtl.c: REGNO_POINTER_ALIGN (HARD_FRAME_POINTER_REGNUM) = STACK_BOUNDARY; The testcase forces the pointer to %rbp (== HARD_FRAME_POINTER_REGNUM in the above line), so the predicate thinks that the value in %rbp is aligned, since %rbp has its REGNO_POINTER_ALIGN set to STACK_BOUNDARY. Looks like generic RTL infrastructure problem to me, the REGNO_POINTER_ALIGNMENT of hard_frame_pointer should be cleared when H_F_P is omitted and reused.