[PATCH 2/2] [i386] PR82002 Part 2: Correct non-immediate offset/invalid INSN

Daniel Santos daniel.santos@pobox.com
Fri Nov 3 23:15:00 GMT 2017


On 11/03/2017 04:22 PM, Daniel Santos wrote:
> ...
> How does this patch look?  (Also, I've updated comments for
> choose_baseaddr.)  Currently re-running tests.
>
> Thanks,
> Daniel
>
> @@ -13110,10 +13125,26 @@ ix86_expand_prologue (void)
>  	 target.  */
>        if (TARGET_SEH)
>  	m->fs.sp_valid = false;
> -    }
>  
> -  if (m->call_ms2sysv)
> -    ix86_emit_outlined_ms2sysv_save (frame);
> +      /* If SP offset is non-immediate after allocation of the stack frame,
> +	 then emit SSE saves or stub call prior to allocating the rest of the
> +	 stack frame.  This is less efficient for the out-of-line stub because
> +	 we can't combine allocations across the call barrier, but it's better
> +	 than using a scratch register.  */
> +      else if (!x86_64_immediate_operand (GEN_INT (frame.stack_pointer_offset - m->fs.sp_realigned_offset), Pmode))

Oops, and also after fixing this formatting...

Daniel



More information about the Gcc-patches mailing list