On 06/19/2017 08:02 PM, Richard Biener wrote: > Oh, and using push intelligently with first bumping to SP & 4096-1 + 4095 > would solve the signal atomicity as well. Might be larger and somewhat > interfere with CPUs stack engine. Who knows...
On x86-64, PUSH REG is just a single byte, so for sequences that have to move SP and probe, it's the shortest possible sequence AFAIK. NEG/NOT can take an offsettable memory operand, but it's three bytes. (I believe the use of ORQ in the current -fstack-check probes might be an oversight. For a start, the REX prefix seems completely unnecessary.) Thanks, Florian