PR target/59644
	* config/i386/i386.h (struct machine_function): Add
	no_drap_save_restore field.
	* config/i386/i386.c (ix86_save_reg): Use
	!cfun->machine->no_drap_save_restore instead of
	crtl->stack_realign_needed.
	(ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
	this function clears frame_pointer_needed.  Set
	cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
	and DRAP reg is needed.

	* gcc.target/i386/pr59644.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206375 138bc75d-0d04-0410-961f-82ee72b054a4