https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78468
--- Comment #41 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> If you cannot guarantee the alignment of the pointers to STACK_BOUNDARY then
> STACK_BOUNDARY is incorrect.
No, it is correct as per the definition:
-- Macro: STACK_BOUNDARY
Define this macro to the minimum alignment enforced by hardware
for the stack pointer on this machine. The definition is a C
expression for the desired alignment (measured in bits). This
value is used as a default if `PREFERRED_STACK_BOUNDARY' is not
defined. On most machines, this should be the same as
`PARM_BOUNDARY'.
> GCC uses the STACK_BOUNDARY guarantee in optimizations so it is essential to
> get this right if you want correct code generation.
No, you're interpolating, please read the entire discussion. Your change is
based on a premise that is wrong at least on 32-bit SPARC.