GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
i386

i386: Add tests for over-aligned stack objects

New test cases verify handling of objects requiring more alignment than the stack frame can provide.

This commit adds several test cases for the i386 architecture to address issues with over-aligned stack objects. These tests cover scenarios involving by-value parameters, escaped addresses, and compiler-preferred over-alignment, ensuring correct alignment handling by the compiler.

In Details

Introduces test cases for PR54412 on i386, focusing on scenarios where stack objects (parameters, temporaries) require alignment exceeding the default stack frame capabilities. This includes testing the correct alignment of object slots, especially when addresses escape to callees or when the MS ABI is in use. The tests differentiate between cases where only the move operation needs to match slot alignment and cases where the object itself must be strictly aligned.

For Context
over-aligned stack objects
Data objects placed on the call stack that require a stricter memory alignment than the standard stack frame naturally provides.
by-value parameter
A function parameter passed by copying its value, rather than by reference or pointer. For large objects, this can involve stack allocation.
MS ABI
Microsoft Visual C++ Application Binary Interface. Specifies calling conventions and data layout for applications on Windows.
slot
A contiguous region of memory on the stack frame allocated to hold a variable, parameter, or temporary value.
Filed Under: i386testsuitestack alignment