OSDN Git Service

AArch64: Set shift bit of TLSLE HI12 add instruction
authorLei Liu <lei.liu2@windriver.com>
Wed, 21 Sep 2016 07:41:41 +0000 (07:41 +0000)
committerLei Liu <lei.liu2@windriver.com>
Wed, 21 Sep 2016 07:41:41 +0000 (07:41 +0000)
commit437db4fe24421cbf1eb92cac8549571670f3dd40
tree7d147558b306c9bfac32e9bfd7edcc572f832db3
parent8bb1682aae0ea8b84374698df68b62435fcec10e
AArch64: Set shift bit of TLSLE HI12 add instruction

Summary: AArch64 LLVM assembler emits add instruction without shift bit to calculate the higher 12-bit address of TLS variables in local exec model.  This generates wrong code sequence to access TLS variables with thread offset larger than 0x1000.

Reviewers: t.p.northover, peter.smith, rovka

Subscribers: salim.nasser, aemerson, llvm-commits, rengolin

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282057 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
test/MC/AArch64/tls-add-shift.s [new file with mode: 0644]