[all-commits] [llvm/llvm-project] 4198ff: [AArch64] Add NZCV Def for TLSDESC_CALLSEQ

Mirko via All-commits all-commits at lists.llvm.org
Mon Feb 13 08:14:36 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4198ff0cb999b57a2392dea60c7169f298c15e33
      https://github.com/llvm/llvm-project/commit/4198ff0cb999b57a2392dea60c7169f298c15e33
  Author: Mirko Müller <mirkomueller97 at live.de>
  Date:   2023-02-13 (Mon, 13 Feb 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/aarch64-tls-flags.ll

  Log Message:
  -----------
  [AArch64] Add NZCV Def for TLSDESC_CALLSEQ

The glibc and older musl handlers of tlsdesc_dynamic use a cmp instruction
which will clobber NZCV.

See glibc's _dl_tlsdesc_dynamic:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/aarch64/dl-tlsdesc.S;hb=refs/heads/release/2.37/master

See v1.1.21 Musl's __tlsdesc_dynamic:
https://git.musl-libc.org/cgit/musl/tree/src/ldso/aarch64/tlsdesc.s?h=v1.1.21

Differential Revision: https://reviews.llvm.org/D143157




More information about the All-commits mailing list