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

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Kyrylo Tkachov <ktkac...@gcc.gnu.org>:

https://gcc.gnu.org/g:573624ec90c80d1a024ab405e2575785b869a833

commit r14-154-g573624ec90c80d1a024ab405e2575785b869a833
Author: Kyrylo Tkachov <kyrylo.tkac...@arm.com>
Date:   Fri Apr 21 19:00:02 2023 +0100

    PR target/108779 aarch64: Implement -mtp= option

    A user has requested that we support the -mtp= option in aarch64 GCC for
changing
    the TPIDR register to read for TLS accesses. I'm not a big fan of the
option name,
    but we already support it in the arm port and Clang supports it for AArch64
already,
    where it accepts the 'el0', 'el1', 'el2', 'el3' values.

    This patch implements the same functionality in GCC.

    Bootstrapped and tested on aarch64-none-linux-gnu.
    Confirmed with godbolt that the sequences and options are the same as what
Clang accepts/generates.

    gcc/ChangeLog:

            PR target/108779
            * config/aarch64/aarch64-opts.h (enum aarch64_tp_reg): Define.
            * config/aarch64/aarch64-protos.h (aarch64_output_load_tp):
            Define prototype.
            * config/aarch64/aarch64.cc (aarch64_tpidr_register): Declare.
            (aarch64_override_options_internal): Handle the above.
            (aarch64_output_load_tp): New function.
            * config/aarch64/aarch64.md (aarch64_load_tp_hard): Call
            aarch64_output_load_tp.
            * config/aarch64/aarch64.opt (aarch64_tp_reg): Define enum.
            (mtp=): New option.
            * doc/invoke.texi (AArch64 Options): Document -mtp=.

    gcc/testsuite/ChangeLog:

            PR target/108779
            * gcc.target/aarch64/mtp.c: New test.
            * gcc.target/aarch64/mtp_1.c: New test.
            * gcc.target/aarch64/mtp_2.c: New test.
            * gcc.target/aarch64/mtp_3.c: New test.
            * gcc.target/aarch64/mtp_4.c: New test.
  • [Bug target/108779] AARCH64 sho... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to