On Wed, Feb 5, 2020 at 6:59 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > MS_ABI requires passing aggregates with only float/double in integer > registers. Checked gcc outputs against Clang and fixed: > > FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54 > -Wno-unused-variable -Wno-unused-parameter > -Wno-unused-but-set-variable -Wno-uninitialized -O0 > -DABI_NUM=FFI_GNUW64 -DABI_ATTR=MSABI execution test > FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=54 > -Wno-unused-variable -Wno-unused-parameter > -Wno-unused-but-set-variable -Wno-uninitialized -O2 > -DABI_NUM=FFI_GNUW64 -DABI_ATTR=MSABI execution test > FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55 > -Wno-unused-variable -Wno-unused-parameter > -Wno-unused-but-set-variable -Wno-uninitialized -O0 > -DABI_NUM=FFI_GNUW64 -DABI_ATTR=MSABI execution test > FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=55 > -Wno-unused-variable -Wno-unused-parameter > -Wno-unused-but-set-variable -Wno-uninitialized -O2 > -DABI_NUM=FFI_GNUW64 -DABI_ATTR=MSABI execution test > FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56 > -Wno-unused-variable -Wno-unused-parameter > -Wno-unused-but-set-variable -Wno-uninitialized -O0 > -DABI_NUM=FFI_GNUW64 -DABI_ATTR=MSABI execution test > FAIL: libffi.bhaible/test-callback.c -W -Wall -Wno-psabi -DDGTEST=56 > -Wno-unused-variable -Wno-unused-parameter > -Wno-unused-but-set-variable -Wno-uninitialized -O2 > -DABI_NUM=FFI_GNUW64 -DABI_ATTR=MSABI execution test > > in libffi testsuite. > > OK for master and backports to GCC 8/9 branches? > > gcc/ > > PR target/85667 > * config/i386/i386.c (function_arg_ms_64): Add a type argument. > Don't return aggregates with only SFmode and DFmode in SSE > register. > (ix86_function_arg): Pass arg.type to function_arg_ms_64. > > gcc/testsuite/ > > PR target/85667 > * gcc.target/i386/pr85667-10.c: New test. > * gcc.target/i386/pr85667-7.c: Likewise. > * gcc.target/i386/pr85667-8.c: Likewise. > * gcc.target/i386/pr85667-9.c: Likewise.
LGTM, but should really be reviewed by cygwin, mingw-w64 maintainer (CC'd). Thanks, Uros. > > -- > H.J.