xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/tlv-2.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple x86_64-apple-darwin -O0 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker@b = thread_local global i32 5, align 4
4*9880d681SAndroid Build Coastguard Worker@a = thread_local global i32 0, align 4
5*9880d681SAndroid Build Coastguard Worker@c = internal thread_local global i32 0, align 4
6*9880d681SAndroid Build Coastguard Worker@d = internal thread_local global i32 5, align 4
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Workerdefine void @foo() nounwind ssp {
9*9880d681SAndroid Build Coastguard Workerentry:
10*9880d681SAndroid Build Coastguard Worker  store i32 1, i32* @a, align 4
11*9880d681SAndroid Build Coastguard Worker  ; CHECK: movq    _a@TLVP(%rip), %rdi
12*9880d681SAndroid Build Coastguard Worker  ; CHECK: callq   *(%rdi)
13*9880d681SAndroid Build Coastguard Worker  ; CHECK: movl    $1, (%rax)
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker  store i32 2, i32* @b, align 4
16*9880d681SAndroid Build Coastguard Worker  ; CHECK: movq    _b@TLVP(%rip), %rdi
17*9880d681SAndroid Build Coastguard Worker  ; CHECK: callq   *(%rdi)
18*9880d681SAndroid Build Coastguard Worker  ; CHECK: movl    $2, (%rax)
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker  store i32 3, i32* @c, align 4
21*9880d681SAndroid Build Coastguard Worker  ; CHECK: movq    _c@TLVP(%rip), %rdi
22*9880d681SAndroid Build Coastguard Worker  ; CHECK: callq   *(%rdi)
23*9880d681SAndroid Build Coastguard Worker  ; CHECK: movl    $3, (%rax)
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker  store i32 4, i32* @d, align 4
26*9880d681SAndroid Build Coastguard Worker  ; CHECK: movq    _d@TLVP(%rip), %rdi
27*9880d681SAndroid Build Coastguard Worker  ; CHECK: callq   *(%rdi)
28*9880d681SAndroid Build Coastguard Worker  ; CHECK: movl    $4, (%rax)
29*9880d681SAndroid Build Coastguard Worker  ; CHECK: popq
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Worker  ret void
32*9880d681SAndroid Build Coastguard Worker}
33