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

--- Comment #12 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <h...@gcc.gnu.org>:

https://gcc.gnu.org/g:5760ddbce26ff9c5c8851b6b2089ad65981d5078

commit r16-2589-g5760ddbce26ff9c5c8851b6b2089ad65981d5078
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Thu Jul 24 07:38:13 2025 -0700

    x86: Disallow -mtls-dialect=gnu with no_caller_saved_registers

    __tls_get_addr doesn't preserve vector registers.  When a function
    with no_caller_saved_registers attribute calls __tls_get_addr, YMM
    and ZMM registers will be clobbered.  Issue an error and suggest
    -mtls-dialect=gnu2 in this case.

    gcc/

            PR target/121208
            * config/i386/i386.cc (ix86_tls_get_addr): Issue an error for
            -mtls-dialect=gnu with no_caller_saved_registers attribute and
            suggest -mtls-dialect=gnu2.

    gcc/testsuite/

            PR target/121208
            * gcc.target/i386/pr121208-1a.c: New test.
            * gcc.target/i386/pr121208-1b.c: Likewise.
            * gcc.target/i386/pr121208-2a.c: Likewise.
            * gcc.target/i386/pr121208-2b.c: Likewise.
            * gcc.target/i386/pr121208-3a.c: Likewise.
            * gcc.target/i386/pr121208-3b.c: Likewise.

    Signed-off-by: H.J. Lu <hjl.to...@gmail.com>

Reply via email to