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.

Reply via email to