On Wed, Feb 12, 2025 at 4:03 PM Sam James <s...@gentoo.org> wrote: > > "H.J. Lu" <hjl.to...@gmail.com> writes: > > > Don't assume that stack slots can only be accessed by stack or frame > > registers. We first find all registers defined by stack or frame > > registers. Then check memory accesses by such registers, including > > stack and frame registers. > > > > gcc/ > > > > PR target/109780 > > PR target/109093 > > * config/i386/i386.cc (ix86_update_stack_alignment): New. > > (ix86_find_all_reg_use): Likewise. > > (ix86_find_max_used_stack_alignment): Also check memory accesses > > from registers defined by stack or frame registers. > > > > gcc/testsuite/ > > > > PR target/109780 > > PR target/109093 > > * g++.target/i386/pr109780-1.C: New test. > > * gcc.target/i386/pr109093-1.c: Likewise. > > * gcc.target/i386/pr109780-1.c: Likewise. > > * gcc.target/i386/pr109780-2.c: Likewise. > > Please add the runtime testcase at > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109780#c29 too. > > Also, for pr109093-1.c, please initialise 'f' to 1 to avoid UB (division > by zero).
Will do. Thanks. -- H.J.