On 6/1/26 18:46, Oleg Tolmatcev wrote:
Am Do., 28. Mai 2026 um 16:02 Uhr schrieb Jonathan Yong <[email protected]>:

On 5/28/26 06:32, oltolm wrote:
On x86_64-w64-mingw32, PR target/54412 is triggered when GCC creates
under-aligned stack storage for AVX values that are passed, returned or
materialized indirectly.

Add coverage for the original by-value cases, for isolated hidden sret
allocation, for callee-side by-reference parameter setup, for the reduced
real-world C++ temporary-slot reproducer, and for an aligned(64) AVX512
case.

FYI the new set of patches caused a build error:

../../gcc/gcc/function.cc: In function ‘void 
assign_parm_setup_reg(assign_parm_data_all*, tree, assign_parm_data_one*)’:
../../gcc/gcc/function.cc:3396:21: error: comparison of integer expressions of 
different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare]
  3396 |           if (align > MAX_SUPPORTED_STACK_ALIGNMENT

I missed pushing one of the patches earlier for adding the testcases,
but by the time I realized and pushed it, I saw you sent a new version.

Please rebase against the master branch, thanks.

I posted v4 of my patch, hopefully the last. I tested the patch with the
testsuites of VectorClass, highway, xsimd, simde and Vc. There were
not regressions compared to the MSYS2 UCRT64 GCC with the unofficial AVX patch.

I did test the first version of my patch with the VectorClass testsuite, but I
didn't realize the compiler was inlining all calls. Only after
disabling inlining
it became a useful testuite for my patch.

Any updates with the rebase after the revert?

Reply via email to