Hello! > this patch rotates the loop generated in the prologue to do stack checking > when -fstack-check is specified, thereby saving one branch instruction. It > was initially implemented as a WHILE loop to match the generic implementation > but can be turned into a DO-WHILE loop because the amount of stack to be > checked is known at compile time (since it's the static part of the frame). > > The patch also changes a mov+sub pair into an lea in the common case on Linux, > saving one more instruction in the process. > > Tested on x86/Linux & x86-64/Linux (ix86_adjust_stack_and_probe path) and > x86/Solaris (ix86_emit_probe_stack_range path). OK for the mainline? > > > 2015-11-12 Eric Botcazou <ebotca...@adacore.com> > > * config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use > an lea instruction when possible. > (output_adjust_stack_and_probe): Rotate the loop and simplify. > (ix86_emit_probe_stack_range): Adjust. > (output_probe_stack_range): Rotate the loop and simplify.
OK. Thanks, Uros.