https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85667

--- Comment #14 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by H.J. Lu <h...@gcc.gnu.org>:

https://gcc.gnu.org/g:850c38f5f4158a157fa792ca0b20a5a17a3ff642

commit r9-8204-g850c38f5f4158a157fa792ca0b20a5a17a3ff642
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Fri Feb 7 03:50:40 2020 -0800

    x86-64: Pass aggregates with only float/double in GPRs for MS_ABI

    MS_ABI requires passing aggregates with only float/double in integer
    registers as shown in the output from MSVC v19.10 at:

    https://godbolt.org/z/2NPygd

    This patch 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.

    gcc/

        Backport from mainline
        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 type to function_arg_ms_64.

    gcc/testsuite/

        Backport from mainline
        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.

    (cherry picked from commit ea5ca698dca15dc86b823661ac357a30b49dd0f6)

Reply via email to