diff --git a/llvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll b/llvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll --- a/llvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll +++ b/llvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll @@ -14,16 +14,16 @@ ; CHECK-NEXT: pushq %r14 ; CHECK-NEXT: pushq %r12 ; CHECK-NEXT: pushq %rbx -; CHECK-NEXT: movq {{.*}}(%rip), %r8 -; CHECK-NEXT: movq {{.*}}(%rip), %r10 -; CHECK-NEXT: movq {{.*}}(%rip), %r9 -; CHECK-NEXT: movq {{.*}}(%rip), %r12 -; CHECK-NEXT: movq {{.*}}(%rip), %r15 -; CHECK-NEXT: movq {{.*}}(%rip), %r14 -; CHECK-NEXT: movq {{.*}}(%rip), %r11 -; CHECK-NEXT: movq {{.*}}(%rip), %rdx +; CHECK-NEXT: movq X(%rip), %r8 +; CHECK-NEXT: movq X(%rip), %r10 +; CHECK-NEXT: movq X(%rip), %r9 +; CHECK-NEXT: movq X(%rip), %r12 +; CHECK-NEXT: movq X(%rip), %r15 +; CHECK-NEXT: movq X(%rip), %r14 +; CHECK-NEXT: movq X(%rip), %r11 +; CHECK-NEXT: movq X(%rip), %rdx ; CHECK-NEXT: addq %r15, %rdx -; CHECK-NEXT: movq {{.*}}(%rip), %rsi +; CHECK-NEXT: movq X(%rip), %rsi ; CHECK-NEXT: bswapq %rsi ; CHECK-NEXT: leaq (%r11,%r14), %rbx ; CHECK-NEXT: addq %r15, %rbx @@ -32,7 +32,7 @@ ; CHECK-NEXT: leaq (%r9,%r10), %rsi ; CHECK-NEXT: leaq (%rsi,%r8), %rdx ; CHECK-NEXT: addq %rsi, %rdx -; CHECK-NEXT: movq {{.*}}(%rip), %rdi +; CHECK-NEXT: movq X(%rip), %rdi ; CHECK-NEXT: addq %rbx, %r12 ; CHECK-NEXT: addq %r8, %rdx ; CHECK-NEXT: bswapq %rdi @@ -44,7 +44,7 @@ ; CHECK-NEXT: leaq (%r10,%r8), %rbx ; CHECK-NEXT: leaq (%rdx,%rbx), %rsi ; CHECK-NEXT: addq %rbx, %rsi -; CHECK-NEXT: movq {{.*}}(%rip), %rbx +; CHECK-NEXT: movq X(%rip), %rbx ; CHECK-NEXT: addq %r12, %rdi ; CHECK-NEXT: addq %rdi, %r9 ; CHECK-NEXT: addq %rdx, %rsi @@ -57,7 +57,7 @@ ; CHECK-NEXT: leaq (%rdx,%r8), %rax ; CHECK-NEXT: leaq (%rsi,%rax), %rdi ; CHECK-NEXT: addq %rax, %rdi -; CHECK-NEXT: movq {{.*}}(%rip), %rcx +; CHECK-NEXT: movq X(%rip), %rcx ; CHECK-NEXT: addq %r9, %rbx ; CHECK-NEXT: addq %rbx, %r10 ; CHECK-NEXT: addq %rsi, %rdi @@ -70,7 +70,7 @@ ; CHECK-NEXT: leaq (%rsi,%rdx), %rbx ; CHECK-NEXT: leaq (%rdi,%rbx), %r11 ; CHECK-NEXT: addq %rbx, %r11 -; CHECK-NEXT: movq {{.*}}(%rip), %rbx +; CHECK-NEXT: movq X(%rip), %rbx ; CHECK-NEXT: addq %r10, %rcx ; CHECK-NEXT: addq %rcx, %r8 ; CHECK-NEXT: addq %rdi, %r11 @@ -83,7 +83,7 @@ ; CHECK-NEXT: leaq (%rdi,%rsi), %rax ; CHECK-NEXT: leaq (%r11,%rax), %r14 ; CHECK-NEXT: addq %rax, %r14 -; CHECK-NEXT: movq {{.*}}(%rip), %rax +; CHECK-NEXT: movq X(%rip), %rax ; CHECK-NEXT: addq %r8, %rbx ; CHECK-NEXT: addq %rbx, %rdx ; CHECK-NEXT: addq %r11, %r14 @@ -96,7 +96,7 @@ ; CHECK-NEXT: leaq (%r11,%rdi), %rbx ; CHECK-NEXT: leaq (%r14,%rbx), %r9 ; CHECK-NEXT: addq %rbx, %r9 -; CHECK-NEXT: movq {{.*}}(%rip), %rbx +; CHECK-NEXT: movq X(%rip), %rbx ; CHECK-NEXT: addq %rdx, %rax ; CHECK-NEXT: addq %rax, %rsi ; CHECK-NEXT: addq %r14, %r9 @@ -109,7 +109,7 @@ ; CHECK-NEXT: leaq (%r14,%r11), %rax ; CHECK-NEXT: leaq (%r9,%rax), %r10 ; CHECK-NEXT: addq %rax, %r10 -; CHECK-NEXT: movq {{.*}}(%rip), %rax +; CHECK-NEXT: movq X(%rip), %rax ; CHECK-NEXT: addq %rsi, %rbx ; CHECK-NEXT: addq %rbx, %rdi ; CHECK-NEXT: addq %r9, %r10 @@ -122,7 +122,7 @@ ; CHECK-NEXT: leaq (%r9,%r14), %rbx ; CHECK-NEXT: leaq (%r10,%rbx), %r8 ; CHECK-NEXT: addq %rbx, %r8 -; CHECK-NEXT: movq {{.*}}(%rip), %rbx +; CHECK-NEXT: movq X(%rip), %rbx ; CHECK-NEXT: addq %rdi, %rax ; CHECK-NEXT: addq %rax, %r11 ; CHECK-NEXT: addq %r10, %r8 @@ -135,7 +135,7 @@ ; CHECK-NEXT: leaq (%r10,%r9), %rax ; CHECK-NEXT: leaq (%r8,%rax), %r15 ; CHECK-NEXT: addq %rax, %r15 -; CHECK-NEXT: movq {{.*}}(%rip), %rax +; CHECK-NEXT: movq X(%rip), %rax ; CHECK-NEXT: addq %r11, %rbx ; CHECK-NEXT: addq %rbx, %r14 ; CHECK-NEXT: addq %r8, %r15 @@ -148,7 +148,7 @@ ; CHECK-NEXT: leaq (%r8,%r10), %rbx ; CHECK-NEXT: leaq (%r15,%rbx), %rsi ; CHECK-NEXT: addq %rbx, %rsi -; CHECK-NEXT: movq {{.*}}(%rip), %rbx +; CHECK-NEXT: movq X(%rip), %rbx ; CHECK-NEXT: addq %r14, %rax ; CHECK-NEXT: addq %rax, %r9 ; CHECK-NEXT: addq %r15, %rsi @@ -161,7 +161,7 @@ ; CHECK-NEXT: leaq (%r15,%r8), %rax ; CHECK-NEXT: leaq (%rsi,%rax), %r12 ; CHECK-NEXT: addq %rax, %r12 -; CHECK-NEXT: movq {{.*}}(%rip), %rcx +; CHECK-NEXT: movq X(%rip), %rcx ; CHECK-NEXT: addq %r9, %rbx ; CHECK-NEXT: addq %rbx, %r10 ; CHECK-NEXT: addq %rsi, %r12 @@ -174,7 +174,7 @@ ; CHECK-NEXT: leaq (%rsi,%r15), %rbx ; CHECK-NEXT: leaq (%r12,%rbx), %rax ; CHECK-NEXT: addq %rbx, %rax -; CHECK-NEXT: movq {{.*}}(%rip), %rbx +; CHECK-NEXT: movq X(%rip), %rbx ; CHECK-NEXT: addq %r10, %rcx ; CHECK-NEXT: addq %rcx, %r8 ; CHECK-NEXT: addq %r12, %rax @@ -187,7 +187,7 @@ ; CHECK-NEXT: leaq (%r12,%rsi), %rdx ; CHECK-NEXT: leaq (%rax,%rdx), %rcx ; CHECK-NEXT: addq %rdx, %rcx -; CHECK-NEXT: movq {{.*}}(%rip), %rdx +; CHECK-NEXT: movq X(%rip), %rdx ; CHECK-NEXT: addq %r8, %rbx ; CHECK-NEXT: addq %rbx, %r15 ; CHECK-NEXT: addq %rax, %rcx @@ -204,7 +204,7 @@ ; CHECK-NEXT: addq %rdx, %rsi ; CHECK-NEXT: addq %rcx, %rbx ; CHECK-NEXT: addq %rdx, %rbx -; CHECK-NEXT: movq {{.*}}(%rip), %rdx +; CHECK-NEXT: movq X(%rip), %rdx ; CHECK-NEXT: bswapq %rdx ; CHECK-NEXT: addq %r10, %rdx ; CHECK-NEXT: leaq (%r15,%r8), %rdi @@ -218,9 +218,9 @@ ; CHECK-NEXT: addq %rdx, %r12 ; CHECK-NEXT: addq %rdx, %rdi ; CHECK-NEXT: addq %r15, %rsi -; CHECK-NEXT: movq {{.*}}(%rip), %rax +; CHECK-NEXT: movq X(%rip), %rax ; CHECK-NEXT: bswapq %rax -; CHECK-NEXT: movq %rax, {{.*}}(%rip) +; CHECK-NEXT: movq %rax, X(%rip) ; CHECK-NEXT: addq %r8, %rax ; CHECK-NEXT: addq %r12, %rsi ; CHECK-NEXT: addq %rsi, %rax diff --git a/llvm/test/CodeGen/X86/WidenArith.ll b/llvm/test/CodeGen/X86/WidenArith.ll --- a/llvm/test/CodeGen/X86/WidenArith.ll +++ b/llvm/test/CodeGen/X86/WidenArith.ll @@ -11,7 +11,7 @@ ; X86-NEXT: vcmpltps %ymm1, %ymm0, %ymm0 ; X86-NEXT: vcmpltps %ymm3, %ymm2, %ymm1 ; X86-NEXT: vandps %ymm1, %ymm0, %ymm0 -; X86-NEXT: vandps {{\.LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0 +; X86-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0 ; X86-NEXT: retl ; ; X64-LABEL: test: @@ -22,7 +22,7 @@ ; X64-NEXT: vcmpltps %ymm1, %ymm0, %ymm0 ; X64-NEXT: vcmpltps %ymm3, %ymm2, %ymm1 ; X64-NEXT: vandps %ymm1, %ymm0, %ymm0 -; X64-NEXT: vandps {{.*}}(%rip), %ymm0, %ymm0 +; X64-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0 ; X64-NEXT: retq %c1 = fadd <8 x float> %a, %b %b1 = fmul <8 x float> %b, %a diff --git a/llvm/test/CodeGen/X86/abi-isel.ll b/llvm/test/CodeGen/X86/abi-isel.ll --- a/llvm/test/CodeGen/X86/abi-isel.ll +++ b/llvm/test/CodeGen/X86/abi-isel.ll @@ -36,9 +36,9 @@ define dso_local void @foo00() nounwind { ; LINUX-64-STATIC-LABEL: foo00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl (%rax), %eax -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -63,9 +63,9 @@ ; ; LINUX-64-PIC-LABEL: foo00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -96,25 +96,25 @@ ; ; DARWIN-64-STATIC-LABEL: foo00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -128,9 +128,9 @@ define dso_local void @fxo00() nounwind { ; LINUX-64-STATIC-LABEL: fxo00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl (%rax), %eax -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -155,9 +155,9 @@ ; ; LINUX-64-PIC-LABEL: fxo00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -188,25 +188,25 @@ ; ; DARWIN-64-STATIC-LABEL: fxo00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: fxo00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: fxo00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -220,8 +220,8 @@ define dso_local void @foo01() nounwind { ; LINUX-64-STATIC-LABEL: foo01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -244,8 +244,8 @@ ; ; LINUX-64-PIC-LABEL: foo01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -273,22 +273,22 @@ ; ; DARWIN-64-STATIC-LABEL: foo01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -300,8 +300,8 @@ define dso_local void @fxo01() nounwind { ; LINUX-64-STATIC-LABEL: fxo01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -324,8 +324,8 @@ ; ; LINUX-64-PIC-LABEL: fxo01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -353,22 +353,22 @@ ; ; DARWIN-64-STATIC-LABEL: fxo01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: fxo01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: fxo01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -380,9 +380,9 @@ define dso_local void @foo02() nounwind { ; LINUX-64-STATIC-LABEL: foo02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl (%rax), %eax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq @@ -410,9 +410,9 @@ ; ; LINUX-64-PIC-LABEL: foo02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq @@ -447,27 +447,27 @@ ; ; DARWIN-64-STATIC-LABEL: foo02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -482,9 +482,9 @@ define dso_local void @fxo02() nounwind { ; LINUX-64-STATIC-LABEL: fxo02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl (%rax), %eax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq @@ -512,9 +512,9 @@ ; ; LINUX-64-PIC-LABEL: fxo02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq @@ -549,27 +549,27 @@ ; ; DARWIN-64-STATIC-LABEL: fxo02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: fxo02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: fxo02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -584,8 +584,8 @@ define dso_local void @foo03() nounwind { ; LINUX-64-STATIC-LABEL: foo03: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movl dsrc(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, ddst(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo03: @@ -607,8 +607,8 @@ ; ; LINUX-64-PIC-LABEL: foo03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl .Ldsrc${{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, .Lddst${{.*}}(%rip) +; LINUX-64-PIC-NEXT: movl .Ldsrc$local(%rip), %eax +; LINUX-64-PIC-NEXT: movl %eax, .Lddst$local(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: foo03: @@ -634,20 +634,20 @@ ; ; DARWIN-64-STATIC-LABEL: foo03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movl _dsrc(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, _ddst(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movl _dsrc(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ddst(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -659,7 +659,7 @@ define dso_local void @foo04() nounwind { ; LINUX-64-STATIC-LABEL: foo04: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ddst, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq $ddst, dptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo04: @@ -680,8 +680,8 @@ ; ; LINUX-64-PIC-LABEL: foo04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, .Ldptr${{.*}}(%rip) +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: foo04: @@ -705,20 +705,20 @@ ; ; DARWIN-64-STATIC-LABEL: foo04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -729,8 +729,8 @@ define dso_local void @foo05() nounwind { ; LINUX-64-STATIC-LABEL: foo05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl dsrc(%rip), %eax +; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -755,8 +755,8 @@ ; ; LINUX-64-PIC-LABEL: foo05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl .Ldsrc${{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movq .Ldptr${{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movl .Ldsrc$local(%rip), %eax +; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -786,22 +786,22 @@ ; ; DARWIN-64-STATIC-LABEL: foo05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _dsrc(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _dsrc(%rip), %eax +; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -815,8 +815,8 @@ define dso_local void @foo06() nounwind { ; LINUX-64-STATIC-LABEL: foo06: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movl lsrc(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, ldst(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo06: @@ -838,8 +838,8 @@ ; ; LINUX-64-PIC-LABEL: foo06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl {{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, {{.*}}(%rip) +; LINUX-64-PIC-NEXT: movl lsrc(%rip), %eax +; LINUX-64-PIC-NEXT: movl %eax, ldst(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: foo06: @@ -865,20 +865,20 @@ ; ; DARWIN-64-STATIC-LABEL: foo06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movl _lsrc(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, _ldst(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movl _lsrc(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ldst(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -890,7 +890,7 @@ define dso_local void @foo07() nounwind { ; LINUX-64-STATIC-LABEL: foo07: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ldst, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq $ldst, lptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo07: @@ -911,8 +911,8 @@ ; ; LINUX-64-PIC-LABEL: foo07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: foo07: @@ -936,20 +936,20 @@ ; ; DARWIN-64-STATIC-LABEL: foo07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -960,8 +960,8 @@ define dso_local void @foo08() nounwind { ; LINUX-64-STATIC-LABEL: foo08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl lsrc(%rip), %eax +; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -986,8 +986,8 @@ ; ; LINUX-64-PIC-LABEL: foo08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl {{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movl lsrc(%rip), %eax +; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1017,22 +1017,22 @@ ; ; DARWIN-64-STATIC-LABEL: foo08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _lsrc(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl {{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _lsrc(%rip), %eax +; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1046,9 +1046,9 @@ define dso_local void @qux00() nounwind { ; LINUX-64-STATIC-LABEL: qux00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1073,9 +1073,9 @@ ; ; LINUX-64-PIC-LABEL: qux00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1106,25 +1106,25 @@ ; ; DARWIN-64-STATIC-LABEL: qux00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1137,9 +1137,9 @@ define dso_local void @qxx00() nounwind { ; LINUX-64-STATIC-LABEL: qxx00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1164,9 +1164,9 @@ ; ; LINUX-64-PIC-LABEL: qxx00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1197,25 +1197,25 @@ ; ; DARWIN-64-STATIC-LABEL: qxx00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qxx00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qxx00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1228,9 +1228,9 @@ define dso_local void @qux01() nounwind { ; LINUX-64-STATIC-LABEL: qux01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1255,9 +1255,9 @@ ; ; LINUX-64-PIC-LABEL: qux01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1287,25 +1287,25 @@ ; ; DARWIN-64-STATIC-LABEL: qux01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1317,9 +1317,9 @@ define dso_local void @qxx01() nounwind { ; LINUX-64-STATIC-LABEL: qxx01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1344,9 +1344,9 @@ ; ; LINUX-64-PIC-LABEL: qxx01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1376,25 +1376,25 @@ ; ; DARWIN-64-STATIC-LABEL: qxx01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qxx01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qxx01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1406,9 +1406,9 @@ define dso_local void @qux02() nounwind { ; LINUX-64-STATIC-LABEL: qux02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq @@ -1436,9 +1436,9 @@ ; ; LINUX-64-PIC-LABEL: qux02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -1473,27 +1473,27 @@ ; ; DARWIN-64-STATIC-LABEL: qux02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1509,9 +1509,9 @@ define dso_local void @qxx02() nounwind { ; LINUX-64-STATIC-LABEL: qxx02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq @@ -1539,9 +1539,9 @@ ; ; LINUX-64-PIC-LABEL: qxx02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -1576,27 +1576,27 @@ ; ; DARWIN-64-STATIC-LABEL: qxx02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qxx02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qxx02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1612,8 +1612,8 @@ define dso_local void @qux03() nounwind { ; LINUX-64-STATIC-LABEL: qux03: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+{{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ddst+{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movl dsrc+64(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, ddst+64(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux03: @@ -1635,8 +1635,8 @@ ; ; LINUX-64-PIC-LABEL: qux03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl .Ldsrc$local+{{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, .Lddst$local+{{.*}}(%rip) +; LINUX-64-PIC-NEXT: movl .Ldsrc$local+64(%rip), %eax +; LINUX-64-PIC-NEXT: movl %eax, .Lddst$local+64(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: qux03: @@ -1662,20 +1662,20 @@ ; ; DARWIN-64-STATIC-LABEL: qux03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movl _dsrc+64(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, _ddst+64(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+64(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst+64(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movl _dsrc+64(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ddst+64(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1687,7 +1687,7 @@ define dso_local void @qux04() nounwind { ; LINUX-64-STATIC-LABEL: qux04: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ddst+64, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq $ddst+64, dptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux04: @@ -1708,8 +1708,8 @@ ; ; LINUX-64-PIC-LABEL: qux04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst$local+{{.*}}(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, .Ldptr${{.*}}(%rip) +; LINUX-64-PIC-NEXT: leaq .Lddst$local+64(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: qux04: @@ -1733,20 +1733,20 @@ ; ; DARWIN-64-STATIC-LABEL: qux04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ddst+64(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+64(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: leaq _ddst+64(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1757,8 +1757,8 @@ define dso_local void @qux05() nounwind { ; LINUX-64-STATIC-LABEL: qux05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+{{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl dsrc+64(%rip), %eax +; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1783,8 +1783,8 @@ ; ; LINUX-64-PIC-LABEL: qux05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl .Ldsrc$local+{{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movq .Ldptr${{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movl .Ldsrc$local+64(%rip), %eax +; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1814,22 +1814,22 @@ ; ; DARWIN-64-STATIC-LABEL: qux05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _dsrc+64(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+64(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _dsrc+64(%rip), %eax +; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1844,8 +1844,8 @@ define dso_local void @qux06() nounwind { ; LINUX-64-STATIC-LABEL: qux06: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+{{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ldst+{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movl lsrc+64(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, ldst+64(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux06: @@ -1867,8 +1867,8 @@ ; ; LINUX-64-PIC-LABEL: qux06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+{{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, ldst+{{.*}}(%rip) +; LINUX-64-PIC-NEXT: movl lsrc+64(%rip), %eax +; LINUX-64-PIC-NEXT: movl %eax, ldst+64(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: qux06: @@ -1894,20 +1894,20 @@ ; ; DARWIN-64-STATIC-LABEL: qux06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movl _lsrc+64(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, _ldst+64(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+64(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst+64(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movl _lsrc+64(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ldst+64(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1919,7 +1919,7 @@ define dso_local void @qux07() nounwind { ; LINUX-64-STATIC-LABEL: qux07: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ldst+64, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq $ldst+64, lptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux07: @@ -1940,8 +1940,8 @@ ; ; LINUX-64-PIC-LABEL: qux07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-PIC-NEXT: leaq ldst+64(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: qux07: @@ -1965,20 +1965,20 @@ ; ; DARWIN-64-STATIC-LABEL: qux07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ldst+64(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+64(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: leaq _ldst+64(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1989,8 +1989,8 @@ define dso_local void @qux08() nounwind { ; LINUX-64-STATIC-LABEL: qux08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+{{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl lsrc+64(%rip), %eax +; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -2015,8 +2015,8 @@ ; ; LINUX-64-PIC-LABEL: qux08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+{{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movl lsrc+64(%rip), %eax +; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -2046,22 +2046,22 @@ ; ; DARWIN-64-STATIC-LABEL: qux08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _lsrc+64(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+64(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _lsrc+64(%rip), %eax +; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -2076,9 +2076,9 @@ define dso_local void @ind00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: ind00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -2105,9 +2105,9 @@ ; ; LINUX-64-PIC-LABEL: ind00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2141,25 +2141,25 @@ ; ; DARWIN-64-STATIC-LABEL: ind00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2174,9 +2174,9 @@ define dso_local void @ixd00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: ixd00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -2203,9 +2203,9 @@ ; ; LINUX-64-PIC-LABEL: ixd00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2239,25 +2239,25 @@ ; ; DARWIN-64-STATIC-LABEL: ixd00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ixd00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ixd00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2273,8 +2273,8 @@ ; LINUX-64-STATIC-LABEL: ind01: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: shlq $2, %rdi -; LINUX-64-STATIC-NEXT: addq dst@{{.*}}(%rip), %rdi -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq dst@GOTPCREL(%rip), %rdi +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movq %rdi, (%rax) ; LINUX-64-STATIC-NEXT: retq ; @@ -2302,8 +2302,8 @@ ; LINUX-64-PIC-LABEL: ind01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: shlq $2, %rdi -; LINUX-64-PIC-NEXT: addq dst@{{.*}}(%rip), %rdi -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rdi +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movq %rdi, (%rax) ; LINUX-64-PIC-NEXT: retq ; @@ -2338,24 +2338,24 @@ ; DARWIN-64-STATIC-LABEL: ind01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: shlq $2, %rdi -; DARWIN-64-STATIC-NEXT: addq _dst@{{.*}}(%rip), %rdi -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: shlq $2, %rdi -; DARWIN-64-DYNAMIC-NEXT: addq _dst@{{.*}}(%rip), %rdi -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind01: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: shlq $2, %rdi -; DARWIN-64-PIC-NEXT: addq _dst@{{.*}}(%rip), %rdi -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-PIC-NEXT: retq @@ -2369,8 +2369,8 @@ ; LINUX-64-STATIC-LABEL: ixd01: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: shlq $2, %rdi -; LINUX-64-STATIC-NEXT: addq xdst@{{.*}}(%rip), %rdi -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq xdst@GOTPCREL(%rip), %rdi +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movq %rdi, (%rax) ; LINUX-64-STATIC-NEXT: retq ; @@ -2398,8 +2398,8 @@ ; LINUX-64-PIC-LABEL: ixd01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: shlq $2, %rdi -; LINUX-64-PIC-NEXT: addq xdst@{{.*}}(%rip), %rdi -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rdi +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movq %rdi, (%rax) ; LINUX-64-PIC-NEXT: retq ; @@ -2434,24 +2434,24 @@ ; DARWIN-64-STATIC-LABEL: ixd01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: shlq $2, %rdi -; DARWIN-64-STATIC-NEXT: addq _xdst@{{.*}}(%rip), %rdi -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ixd01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: shlq $2, %rdi -; DARWIN-64-DYNAMIC-NEXT: addq _xdst@{{.*}}(%rip), %rdi -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ixd01: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: shlq $2, %rdi -; DARWIN-64-PIC-NEXT: addq _xdst@{{.*}}(%rip), %rdi -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-PIC-NEXT: retq @@ -2464,9 +2464,9 @@ define dso_local void @ind02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: ind02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq @@ -2496,9 +2496,9 @@ ; ; LINUX-64-PIC-LABEL: ind02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -2536,27 +2536,27 @@ ; ; DARWIN-64-STATIC-LABEL: ind02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2573,9 +2573,9 @@ define dso_local void @ixd02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: ixd02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq @@ -2605,9 +2605,9 @@ ; ; LINUX-64-PIC-LABEL: ixd02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -2645,27 +2645,27 @@ ; ; DARWIN-64-STATIC-LABEL: ixd02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ixd02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ixd02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2707,9 +2707,9 @@ ; ; LINUX-64-PIC-LABEL: ind03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2739,25 +2739,25 @@ ; ; DARWIN-64-STATIC-LABEL: ind03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2773,7 +2773,7 @@ ; LINUX-64-STATIC-LABEL: ind04: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ddst(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, dptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ind04: @@ -2797,9 +2797,9 @@ ; ; LINUX-64-PIC-LABEL: ind04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax ; LINUX-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, .Ldptr${{.*}}(%rip) +; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: ind04: @@ -2828,23 +2828,23 @@ ; ; DARWIN-64-STATIC-LABEL: ind04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -2857,7 +2857,7 @@ ; LINUX-64-STATIC-LABEL: ind05: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl dsrc(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -2884,9 +2884,9 @@ ; ; LINUX-64-PIC-LABEL: ind05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq .Ldptr${{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2919,25 +2919,25 @@ ; ; DARWIN-64-STATIC-LABEL: ind05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2978,9 +2978,9 @@ ; ; LINUX-64-PIC-LABEL: ind06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3010,25 +3010,25 @@ ; ; DARWIN-64-STATIC-LABEL: ind06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3044,7 +3044,7 @@ ; LINUX-64-STATIC-LABEL: ind07: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ldst(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, lptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ind07: @@ -3068,9 +3068,9 @@ ; ; LINUX-64-PIC-LABEL: ind07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax ; LINUX-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: ind07: @@ -3099,23 +3099,23 @@ ; ; DARWIN-64-STATIC-LABEL: ind07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -3128,7 +3128,7 @@ ; LINUX-64-STATIC-LABEL: ind08: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl lsrc(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -3155,9 +3155,9 @@ ; ; LINUX-64-PIC-LABEL: ind08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3190,25 +3190,25 @@ ; ; DARWIN-64-STATIC-LABEL: ind08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3224,9 +3224,9 @@ define dso_local void @off00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: off00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -3253,9 +3253,9 @@ ; ; LINUX-64-PIC-LABEL: off00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3289,25 +3289,25 @@ ; ; DARWIN-64-STATIC-LABEL: off00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3323,9 +3323,9 @@ define dso_local void @oxf00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: oxf00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -3352,9 +3352,9 @@ ; ; LINUX-64-PIC-LABEL: oxf00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3388,25 +3388,25 @@ ; ; DARWIN-64-STATIC-LABEL: oxf00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: oxf00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: oxf00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3422,9 +3422,9 @@ define dso_local void @off01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: off01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -3451,9 +3451,9 @@ ; ; LINUX-64-PIC-LABEL: off01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -3487,25 +3487,25 @@ ; ; DARWIN-64-STATIC-LABEL: off01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -3519,9 +3519,9 @@ define dso_local void @oxf01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: oxf01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -3548,9 +3548,9 @@ ; ; LINUX-64-PIC-LABEL: oxf01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -3584,25 +3584,25 @@ ; ; DARWIN-64-STATIC-LABEL: oxf01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: oxf01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: oxf01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -3616,9 +3616,9 @@ define dso_local void @off02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: off02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq @@ -3648,9 +3648,9 @@ ; ; LINUX-64-PIC-LABEL: off02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -3688,27 +3688,27 @@ ; ; DARWIN-64-STATIC-LABEL: off02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3726,9 +3726,9 @@ define dso_local void @oxf02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: oxf02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq @@ -3758,9 +3758,9 @@ ; ; LINUX-64-PIC-LABEL: oxf02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -3798,27 +3798,27 @@ ; ; DARWIN-64-STATIC-LABEL: oxf02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: oxf02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: oxf02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3861,9 +3861,9 @@ ; ; LINUX-64-PIC-LABEL: off03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3893,25 +3893,25 @@ ; ; DARWIN-64-STATIC-LABEL: off03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3928,7 +3928,7 @@ ; LINUX-64-STATIC-LABEL: off04: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ddst+64(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, dptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: off04: @@ -3952,9 +3952,9 @@ ; ; LINUX-64-PIC-LABEL: off04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, .Ldptr${{.*}}(%rip) +; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: off04: @@ -3983,23 +3983,23 @@ ; ; DARWIN-64-STATIC-LABEL: off04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4013,7 +4013,7 @@ ; LINUX-64-STATIC-LABEL: off05: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl dsrc+64(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -4040,9 +4040,9 @@ ; ; LINUX-64-PIC-LABEL: off05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq .Ldptr${{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -4075,25 +4075,25 @@ ; ; DARWIN-64-STATIC-LABEL: off05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -4135,9 +4135,9 @@ ; ; LINUX-64-PIC-LABEL: off06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -4167,25 +4167,25 @@ ; ; DARWIN-64-STATIC-LABEL: off06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -4202,7 +4202,7 @@ ; LINUX-64-STATIC-LABEL: off07: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ldst+64(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, lptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: off07: @@ -4226,9 +4226,9 @@ ; ; LINUX-64-PIC-LABEL: off07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: off07: @@ -4257,23 +4257,23 @@ ; ; DARWIN-64-STATIC-LABEL: off07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4287,7 +4287,7 @@ ; LINUX-64-STATIC-LABEL: off08: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl lsrc+64(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -4314,9 +4314,9 @@ ; ; LINUX-64-PIC-LABEL: off08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -4349,25 +4349,25 @@ ; ; DARWIN-64-STATIC-LABEL: off08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -4384,9 +4384,9 @@ define dso_local void @moo00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -4411,9 +4411,9 @@ ; ; LINUX-64-PIC-LABEL: moo00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4444,25 +4444,25 @@ ; ; DARWIN-64-STATIC-LABEL: moo00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4476,8 +4476,8 @@ ; LINUX-64-STATIC-LABEL: moo01: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-STATIC-NEXT: addq dst@{{.*}}(%rip), %rax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: addq dst@GOTPCREL(%rip), %rax +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -4503,8 +4503,8 @@ ; LINUX-64-PIC-LABEL: moo01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq dst@{{.*}}(%rip), %rax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4535,24 +4535,24 @@ ; DARWIN-64-STATIC-LABEL: moo01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq _dst@{{.*}}(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: addq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq _dst@{{.*}}(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: addq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo01: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq _dst@{{.*}}(%rip), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4564,9 +4564,9 @@ define dso_local void @moo02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq @@ -4594,9 +4594,9 @@ ; ; LINUX-64-PIC-LABEL: moo02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -4631,27 +4631,27 @@ ; ; DARWIN-64-STATIC-LABEL: moo02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4667,8 +4667,8 @@ define dso_local void @moo03(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo03: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+{{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ddst+{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movl dsrc+262144(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, ddst+262144(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo03: @@ -4690,8 +4690,8 @@ ; ; LINUX-64-PIC-LABEL: moo03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl .Ldsrc$local+{{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, .Lddst$local+{{.*}}(%rip) +; LINUX-64-PIC-NEXT: movl .Ldsrc$local+262144(%rip), %eax +; LINUX-64-PIC-NEXT: movl %eax, .Lddst$local+262144(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: moo03: @@ -4717,20 +4717,20 @@ ; ; DARWIN-64-STATIC-LABEL: moo03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movl _dsrc+262144(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, _ddst+262144(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+262144(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst+262144(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movl _dsrc+262144(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ddst+262144(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4742,7 +4742,7 @@ define dso_local void @moo04(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo04: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ddst+262144, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq $ddst+262144, dptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo04: @@ -4763,8 +4763,8 @@ ; ; LINUX-64-PIC-LABEL: moo04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst$local+{{.*}}(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, .Ldptr${{.*}}(%rip) +; LINUX-64-PIC-NEXT: leaq .Lddst$local+262144(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: moo04: @@ -4788,20 +4788,20 @@ ; ; DARWIN-64-STATIC-LABEL: moo04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ddst+262144(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+262144(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: leaq _ddst+262144(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4812,8 +4812,8 @@ define dso_local void @moo05(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+{{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl dsrc+262144(%rip), %eax +; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -4838,8 +4838,8 @@ ; ; LINUX-64-PIC-LABEL: moo05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl .Ldsrc$local+{{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movq .Ldptr${{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movl .Ldsrc$local+262144(%rip), %eax +; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4869,22 +4869,22 @@ ; ; DARWIN-64-STATIC-LABEL: moo05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _dsrc+262144(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+262144(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _dsrc+262144(%rip), %eax +; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4899,8 +4899,8 @@ define dso_local void @moo06(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo06: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+{{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ldst+{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movl lsrc+262144(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, ldst+262144(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo06: @@ -4922,8 +4922,8 @@ ; ; LINUX-64-PIC-LABEL: moo06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+{{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, ldst+{{.*}}(%rip) +; LINUX-64-PIC-NEXT: movl lsrc+262144(%rip), %eax +; LINUX-64-PIC-NEXT: movl %eax, ldst+262144(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: moo06: @@ -4949,20 +4949,20 @@ ; ; DARWIN-64-STATIC-LABEL: moo06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movl _lsrc+262144(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, _ldst+262144(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+262144(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst+262144(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movl _lsrc+262144(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ldst+262144(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4974,7 +4974,7 @@ define dso_local void @moo07(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo07: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ldst+262144, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq $ldst+262144, lptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo07: @@ -4995,8 +4995,8 @@ ; ; LINUX-64-PIC-LABEL: moo07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-PIC-NEXT: leaq ldst+262144(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: moo07: @@ -5020,20 +5020,20 @@ ; ; DARWIN-64-STATIC-LABEL: moo07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ldst+262144(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+262144(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: leaq _ldst+262144(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -5044,8 +5044,8 @@ define dso_local void @moo08(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+{{.*}}(%rip), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl lsrc+262144(%rip), %eax +; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -5070,8 +5070,8 @@ ; ; LINUX-64-PIC-LABEL: moo08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+{{.*}}(%rip), %eax -; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movl lsrc+262144(%rip), %eax +; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -5101,22 +5101,22 @@ ; ; DARWIN-64-STATIC-LABEL: moo08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _lsrc+262144(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+262144(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _lsrc+262144(%rip), %eax +; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -5131,9 +5131,9 @@ define dso_local void @big00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: big00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -5160,9 +5160,9 @@ ; ; LINUX-64-PIC-LABEL: big00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5196,25 +5196,25 @@ ; ; DARWIN-64-STATIC-LABEL: big00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5230,9 +5230,9 @@ define dso_local void @big01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: big01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -5259,9 +5259,9 @@ ; ; LINUX-64-PIC-LABEL: big01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -5295,25 +5295,25 @@ ; ; DARWIN-64-STATIC-LABEL: big01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -5327,9 +5327,9 @@ define dso_local void @big02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: big02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq @@ -5359,9 +5359,9 @@ ; ; LINUX-64-PIC-LABEL: big02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -5399,27 +5399,27 @@ ; ; DARWIN-64-STATIC-LABEL: big02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5462,9 +5462,9 @@ ; ; LINUX-64-PIC-LABEL: big03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5494,25 +5494,25 @@ ; ; DARWIN-64-STATIC-LABEL: big03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5529,7 +5529,7 @@ ; LINUX-64-STATIC-LABEL: big04: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ddst+262144(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, dptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: big04: @@ -5553,9 +5553,9 @@ ; ; LINUX-64-PIC-LABEL: big04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, .Ldptr${{.*}}(%rip) +; LINUX-64-PIC-NEXT: movq %rax, .Ldptr$local(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: big04: @@ -5584,23 +5584,23 @@ ; ; DARWIN-64-STATIC-LABEL: big04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -5614,7 +5614,7 @@ ; LINUX-64-STATIC-LABEL: big05: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl dsrc+262144(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -5641,9 +5641,9 @@ ; ; LINUX-64-PIC-LABEL: big05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq .Ldptr${{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5676,25 +5676,25 @@ ; ; DARWIN-64-STATIC-LABEL: big05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5736,9 +5736,9 @@ ; ; LINUX-64-PIC-LABEL: big06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5768,25 +5768,25 @@ ; ; DARWIN-64-STATIC-LABEL: big06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5803,7 +5803,7 @@ ; LINUX-64-STATIC-LABEL: big07: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: leaq ldst+262144(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, lptr(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: big07: @@ -5827,9 +5827,9 @@ ; ; LINUX-64-PIC-LABEL: big07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: big07: @@ -5858,23 +5858,23 @@ ; ; DARWIN-64-STATIC-LABEL: big07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -5888,7 +5888,7 @@ ; LINUX-64-STATIC-LABEL: big08: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl lsrc+262144(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -5915,9 +5915,9 @@ ; ; LINUX-64-PIC-LABEL: big08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5950,25 +5950,25 @@ ; ; DARWIN-64-STATIC-LABEL: big08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5985,7 +5985,7 @@ define dso_local i8* @bar00() nounwind { ; LINUX-64-STATIC-LABEL: bar00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bar00: @@ -6005,7 +6005,7 @@ ; ; LINUX-64-PIC-LABEL: bar00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar00: @@ -6028,17 +6028,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6048,7 +6048,7 @@ define dso_local i8* @bxr00() nounwind { ; LINUX-64-STATIC-LABEL: bxr00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bxr00: @@ -6068,7 +6068,7 @@ ; ; LINUX-64-PIC-LABEL: bxr00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bxr00: @@ -6091,17 +6091,17 @@ ; ; DARWIN-64-STATIC-LABEL: bxr00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxr00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxr00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6111,7 +6111,7 @@ define dso_local i8* @bar01() nounwind { ; LINUX-64-STATIC-LABEL: bar01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bar01: @@ -6131,7 +6131,7 @@ ; ; LINUX-64-PIC-LABEL: bar01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar01: @@ -6154,17 +6154,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6174,7 +6174,7 @@ define dso_local i8* @bxr01() nounwind { ; LINUX-64-STATIC-LABEL: bxr01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bxr01: @@ -6194,7 +6194,7 @@ ; ; LINUX-64-PIC-LABEL: bxr01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bxr01: @@ -6217,17 +6217,17 @@ ; ; DARWIN-64-STATIC-LABEL: bxr01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxr01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxr01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6237,7 +6237,7 @@ define dso_local i8* @bar02() nounwind { ; LINUX-64-STATIC-LABEL: bar02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bar02: @@ -6257,7 +6257,7 @@ ; ; LINUX-64-PIC-LABEL: bar02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar02: @@ -6280,17 +6280,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6320,7 +6320,7 @@ ; ; LINUX-64-PIC-LABEL: bar03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar03: @@ -6343,17 +6343,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6383,7 +6383,7 @@ ; ; LINUX-64-PIC-LABEL: bar04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar04: @@ -6406,17 +6406,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6446,7 +6446,7 @@ ; ; LINUX-64-PIC-LABEL: bar05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldptr${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldptr$local(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar05: @@ -6469,17 +6469,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dptr(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6509,7 +6509,7 @@ ; ; LINUX-64-PIC-LABEL: bar06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar06: @@ -6532,17 +6532,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6572,7 +6572,7 @@ ; ; LINUX-64-PIC-LABEL: bar07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar07: @@ -6595,17 +6595,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6635,7 +6635,7 @@ ; ; LINUX-64-PIC-LABEL: bar08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lptr(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar08: @@ -6658,17 +6658,17 @@ ; ; DARWIN-64-STATIC-LABEL: bar08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lptr(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6678,7 +6678,7 @@ define dso_local i8* @har00() nounwind { ; LINUX-64-STATIC-LABEL: har00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har00: @@ -6698,7 +6698,7 @@ ; ; LINUX-64-PIC-LABEL: har00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har00: @@ -6721,17 +6721,17 @@ ; ; DARWIN-64-STATIC-LABEL: har00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6741,7 +6741,7 @@ define dso_local i8* @hxr00() nounwind { ; LINUX-64-STATIC-LABEL: hxr00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: hxr00: @@ -6761,7 +6761,7 @@ ; ; LINUX-64-PIC-LABEL: hxr00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: hxr00: @@ -6784,17 +6784,17 @@ ; ; DARWIN-64-STATIC-LABEL: hxr00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: hxr00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: hxr00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6804,7 +6804,7 @@ define dso_local i8* @har01() nounwind { ; LINUX-64-STATIC-LABEL: har01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har01: @@ -6824,7 +6824,7 @@ ; ; LINUX-64-PIC-LABEL: har01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har01: @@ -6847,17 +6847,17 @@ ; ; DARWIN-64-STATIC-LABEL: har01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6867,7 +6867,7 @@ define dso_local i8* @hxr01() nounwind { ; LINUX-64-STATIC-LABEL: hxr01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: hxr01: @@ -6887,7 +6887,7 @@ ; ; LINUX-64-PIC-LABEL: hxr01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: hxr01: @@ -6910,17 +6910,17 @@ ; ; DARWIN-64-STATIC-LABEL: hxr01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: hxr01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: hxr01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6930,7 +6930,7 @@ define dso_local i8* @har02() nounwind { ; LINUX-64-STATIC-LABEL: har02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movq (%rax), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -6952,7 +6952,7 @@ ; ; LINUX-64-PIC-LABEL: har02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -6978,19 +6978,19 @@ ; ; DARWIN-64-STATIC-LABEL: har02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq (%rax), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq (%rax), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: retq @@ -7023,7 +7023,7 @@ ; ; LINUX-64-PIC-LABEL: har03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har03: @@ -7046,17 +7046,17 @@ ; ; DARWIN-64-STATIC-LABEL: har03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7086,7 +7086,7 @@ ; ; LINUX-64-PIC-LABEL: har04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har04: @@ -7109,17 +7109,17 @@ ; ; DARWIN-64-STATIC-LABEL: har04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7129,7 +7129,7 @@ define dso_local i8* @har05() nounwind { ; LINUX-64-STATIC-LABEL: har05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har05: @@ -7149,7 +7149,7 @@ ; ; LINUX-64-PIC-LABEL: har05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq .Ldptr${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har05: @@ -7172,17 +7172,17 @@ ; ; DARWIN-64-STATIC-LABEL: har05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7214,7 +7214,7 @@ ; ; LINUX-64-PIC-LABEL: har06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har06: @@ -7237,17 +7237,17 @@ ; ; DARWIN-64-STATIC-LABEL: har06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7277,7 +7277,7 @@ ; ; LINUX-64-PIC-LABEL: har07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har07: @@ -7300,17 +7300,17 @@ ; ; DARWIN-64-STATIC-LABEL: har07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7320,7 +7320,7 @@ define dso_local i8* @har08() nounwind { ; LINUX-64-STATIC-LABEL: har08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har08: @@ -7340,7 +7340,7 @@ ; ; LINUX-64-PIC-LABEL: har08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har08: @@ -7363,17 +7363,17 @@ ; ; DARWIN-64-STATIC-LABEL: har08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7385,7 +7385,7 @@ define dso_local i8* @bat00() nounwind { ; LINUX-64-STATIC-LABEL: bat00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -7407,7 +7407,7 @@ ; ; LINUX-64-PIC-LABEL: bat00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7433,19 +7433,19 @@ ; ; DARWIN-64-STATIC-LABEL: bat00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7456,7 +7456,7 @@ define dso_local i8* @bxt00() nounwind { ; LINUX-64-STATIC-LABEL: bxt00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -7478,7 +7478,7 @@ ; ; LINUX-64-PIC-LABEL: bxt00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7504,19 +7504,19 @@ ; ; DARWIN-64-STATIC-LABEL: bxt00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxt00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxt00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7527,7 +7527,7 @@ define dso_local i8* @bat01() nounwind { ; LINUX-64-STATIC-LABEL: bat01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -7549,7 +7549,7 @@ ; ; LINUX-64-PIC-LABEL: bat01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7575,19 +7575,19 @@ ; ; DARWIN-64-STATIC-LABEL: bat01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7598,7 +7598,7 @@ define dso_local i8* @bxt01() nounwind { ; LINUX-64-STATIC-LABEL: bxt01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -7620,7 +7620,7 @@ ; ; LINUX-64-PIC-LABEL: bxt01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7646,19 +7646,19 @@ ; ; DARWIN-64-STATIC-LABEL: bxt01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxt01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxt01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7669,7 +7669,7 @@ define dso_local i8* @bat02() nounwind { ; LINUX-64-STATIC-LABEL: bat02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movq (%rax), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq @@ -7694,7 +7694,7 @@ ; ; LINUX-64-PIC-LABEL: bat02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq @@ -7724,21 +7724,21 @@ ; ; DARWIN-64-STATIC-LABEL: bat02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq (%rax), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq (%rax), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7773,7 +7773,7 @@ ; ; LINUX-64-PIC-LABEL: bat03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc$local+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local+64(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bat03: @@ -7796,17 +7796,17 @@ ; ; DARWIN-64-STATIC-LABEL: bat03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc+64(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+64(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc+64(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7836,7 +7836,7 @@ ; ; LINUX-64-PIC-LABEL: bat04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst$local+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Lddst$local+64(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bat04: @@ -7859,17 +7859,17 @@ ; ; DARWIN-64-STATIC-LABEL: bat04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst+64(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+64(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst+64(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7879,7 +7879,7 @@ define dso_local i8* @bat05() nounwind { ; LINUX-64-STATIC-LABEL: bat05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -7902,7 +7902,7 @@ ; ; LINUX-64-PIC-LABEL: bat05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq .Ldptr${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7929,19 +7929,19 @@ ; ; DARWIN-64-STATIC-LABEL: bat05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7975,7 +7975,7 @@ ; ; LINUX-64-PIC-LABEL: bat06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc+64(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bat06: @@ -7998,17 +7998,17 @@ ; ; DARWIN-64-STATIC-LABEL: bat06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc+64(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+64(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc+64(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8038,7 +8038,7 @@ ; ; LINUX-64-PIC-LABEL: bat07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst+64(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bat07: @@ -8061,17 +8061,17 @@ ; ; DARWIN-64-STATIC-LABEL: bat07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst+64(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+64(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst+64(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8081,7 +8081,7 @@ define dso_local i8* @bat08() nounwind { ; LINUX-64-STATIC-LABEL: bat08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -8104,7 +8104,7 @@ ; ; LINUX-64-PIC-LABEL: bat08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8131,19 +8131,19 @@ ; ; DARWIN-64-STATIC-LABEL: bat08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -8158,7 +8158,7 @@ ; LINUX-64-STATIC-LABEL: bam00: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-STATIC-NEXT: addq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam00: @@ -8180,7 +8180,7 @@ ; LINUX-64-PIC-LABEL: bam00: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: addq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam00: @@ -8206,19 +8206,19 @@ ; DARWIN-64-STATIC-LABEL: bam00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam00: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8229,7 +8229,7 @@ ; LINUX-64-STATIC-LABEL: bam01: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-STATIC-NEXT: addq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq dst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam01: @@ -8251,7 +8251,7 @@ ; LINUX-64-PIC-LABEL: bam01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam01: @@ -8277,19 +8277,19 @@ ; DARWIN-64-STATIC-LABEL: bam01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam01: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8300,7 +8300,7 @@ ; LINUX-64-STATIC-LABEL: bxm01: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-STATIC-NEXT: addq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq xdst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bxm01: @@ -8322,7 +8322,7 @@ ; LINUX-64-PIC-LABEL: bxm01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq xdst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bxm01: @@ -8348,19 +8348,19 @@ ; DARWIN-64-STATIC-LABEL: bxm01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxm01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxm01: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8370,7 +8370,7 @@ define dso_local i8* @bam02() nounwind { ; LINUX-64-STATIC-LABEL: bam02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 ; LINUX-64-STATIC-NEXT: addq (%rcx), %rax ; LINUX-64-STATIC-NEXT: retq @@ -8395,7 +8395,7 @@ ; ; LINUX-64-PIC-LABEL: bam02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 ; LINUX-64-PIC-NEXT: addq (%rcx), %rax ; LINUX-64-PIC-NEXT: retq @@ -8425,21 +8425,21 @@ ; ; DARWIN-64-STATIC-LABEL: bam02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 ; DARWIN-64-STATIC-NEXT: addq (%rcx), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 ; DARWIN-64-DYNAMIC-NEXT: addq (%rcx), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 ; DARWIN-64-PIC-NEXT: addq (%rcx), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8474,7 +8474,7 @@ ; ; LINUX-64-PIC-LABEL: bam03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc$local+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local+262144(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam03: @@ -8497,17 +8497,17 @@ ; ; DARWIN-64-STATIC-LABEL: bam03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc+262144(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+262144(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc+262144(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8537,7 +8537,7 @@ ; ; LINUX-64-PIC-LABEL: bam04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst$local+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Lddst$local+262144(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam04: @@ -8560,17 +8560,17 @@ ; ; DARWIN-64-STATIC-LABEL: bam04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst+262144(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+262144(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst+262144(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8581,7 +8581,7 @@ ; LINUX-64-STATIC-LABEL: bam05: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-STATIC-NEXT: addq {{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq dptr(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam05: @@ -8604,7 +8604,7 @@ ; LINUX-64-PIC-LABEL: bam05: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq .Ldptr${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: addq .Ldptr$local(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam05: @@ -8631,19 +8631,19 @@ ; DARWIN-64-STATIC-LABEL: bam05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _dptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _dptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam05: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _dptr(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8676,7 +8676,7 @@ ; ; LINUX-64-PIC-LABEL: bam06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc+262144(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam06: @@ -8699,17 +8699,17 @@ ; ; DARWIN-64-STATIC-LABEL: bam06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc+262144(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+262144(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc+262144(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8739,7 +8739,7 @@ ; ; LINUX-64-PIC-LABEL: bam07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst+262144(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam07: @@ -8762,17 +8762,17 @@ ; ; DARWIN-64-STATIC-LABEL: bam07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst+262144(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+262144(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst+262144(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8783,7 +8783,7 @@ ; LINUX-64-STATIC-LABEL: bam08: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-STATIC-NEXT: addq {{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq lptr(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam08: @@ -8806,7 +8806,7 @@ ; LINUX-64-PIC-LABEL: bam08: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: addq lptr(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam08: @@ -8833,19 +8833,19 @@ ; DARWIN-64-STATIC-LABEL: bam08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-STATIC-NEXT: addq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _lptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-DYNAMIC-NEXT: addq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _lptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam08: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 -; DARWIN-64-PIC-NEXT: addq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _lptr(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8858,7 +8858,7 @@ define dso_local i8* @cat00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -8882,7 +8882,7 @@ ; ; LINUX-64-PIC-LABEL: cat00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8911,19 +8911,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8937,7 +8937,7 @@ define dso_local i8* @cxt00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cxt00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -8961,7 +8961,7 @@ ; ; LINUX-64-PIC-LABEL: cxt00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8990,19 +8990,19 @@ ; ; DARWIN-64-STATIC-LABEL: cxt00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cxt00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cxt00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9016,7 +9016,7 @@ define dso_local i8* @cat01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9040,7 +9040,7 @@ ; ; LINUX-64-PIC-LABEL: cat01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9069,19 +9069,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9095,7 +9095,7 @@ define dso_local i8* @cxt01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cxt01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9119,7 +9119,7 @@ ; ; LINUX-64-PIC-LABEL: cxt01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9148,19 +9148,19 @@ ; ; DARWIN-64-STATIC-LABEL: cxt01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cxt01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cxt01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9174,7 +9174,7 @@ define dso_local i8* @cat02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movq (%rax), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq @@ -9201,7 +9201,7 @@ ; ; LINUX-64-PIC-LABEL: cat02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq @@ -9234,21 +9234,21 @@ ; ; DARWIN-64-STATIC-LABEL: cat02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq (%rax), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq (%rax), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9286,7 +9286,7 @@ ; ; LINUX-64-PIC-LABEL: cat03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9313,19 +9313,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9361,7 +9361,7 @@ ; ; LINUX-64-PIC-LABEL: cat04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9388,19 +9388,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9414,7 +9414,7 @@ define dso_local i8* @cat05(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9439,7 +9439,7 @@ ; ; LINUX-64-PIC-LABEL: cat05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq .Ldptr${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9469,19 +9469,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9518,7 +9518,7 @@ ; ; LINUX-64-PIC-LABEL: cat06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9545,19 +9545,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9593,7 +9593,7 @@ ; ; LINUX-64-PIC-LABEL: cat07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9620,19 +9620,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9646,7 +9646,7 @@ define dso_local i8* @cat08(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9671,7 +9671,7 @@ ; ; LINUX-64-PIC-LABEL: cat08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9701,19 +9701,19 @@ ; ; DARWIN-64-STATIC-LABEL: cat08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cat08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cat08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9728,7 +9728,7 @@ define dso_local i8* @cam00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9752,7 +9752,7 @@ ; ; LINUX-64-PIC-LABEL: cam00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9781,19 +9781,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9807,7 +9807,7 @@ define dso_local i8* @cxm00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cxm00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9831,7 +9831,7 @@ ; ; LINUX-64-PIC-LABEL: cxm00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9860,19 +9860,19 @@ ; ; DARWIN-64-STATIC-LABEL: cxm00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cxm00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cxm00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9886,7 +9886,7 @@ define dso_local i8* @cam01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9910,7 +9910,7 @@ ; ; LINUX-64-PIC-LABEL: cam01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9939,19 +9939,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9965,7 +9965,7 @@ define dso_local i8* @cxm01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cxm01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9989,7 +9989,7 @@ ; ; LINUX-64-PIC-LABEL: cxm01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10018,19 +10018,19 @@ ; ; DARWIN-64-STATIC-LABEL: cxm01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cxm01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cxm01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10044,7 +10044,7 @@ define dso_local i8* @cam02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: movq (%rax), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq @@ -10071,7 +10071,7 @@ ; ; LINUX-64-PIC-LABEL: cam02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq @@ -10104,21 +10104,21 @@ ; ; DARWIN-64-STATIC-LABEL: cam02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: movq (%rax), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movq (%rax), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10156,7 +10156,7 @@ ; ; LINUX-64-PIC-LABEL: cam03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Ldsrc${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Ldsrc$local(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10183,19 +10183,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10231,7 +10231,7 @@ ; ; LINUX-64-PIC-LABEL: cam04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Lddst${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Lddst$local(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10258,19 +10258,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10284,7 +10284,7 @@ define dso_local i8* @cam05(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -10309,7 +10309,7 @@ ; ; LINUX-64-PIC-LABEL: cam05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq .Ldptr${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq .Ldptr$local(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10339,19 +10339,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10388,7 +10388,7 @@ ; ; LINUX-64-PIC-LABEL: cam06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10415,19 +10415,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10463,7 +10463,7 @@ ; ; LINUX-64-PIC-LABEL: cam07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10490,19 +10490,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10516,7 +10516,7 @@ define dso_local i8* @cam08(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -10541,7 +10541,7 @@ ; ; LINUX-64-PIC-LABEL: cam08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10571,19 +10571,19 @@ ; ; DARWIN-64-STATIC-LABEL: cam08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: cam08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: cam08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10900,7 +10900,7 @@ define dso_local void ()* @address() nounwind { ; LINUX-64-STATIC-LABEL: address: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq callee@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq callee@GOTPCREL(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: address: @@ -10920,7 +10920,7 @@ ; ; LINUX-64-PIC-LABEL: address: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq callee@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq callee@GOTPCREL(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: address: @@ -10943,17 +10943,17 @@ ; ; DARWIN-64-STATIC-LABEL: address: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _callee@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _callee@GOTPCREL(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: address: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _callee@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _callee@GOTPCREL(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: address: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _callee@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _callee@GOTPCREL(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -10985,7 +10985,7 @@ ; ; LINUX-64-PIC-LABEL: laddress: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq .Llcallee${{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq .Llcallee$local(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: laddress: @@ -11008,17 +11008,17 @@ ; ; DARWIN-64-STATIC-LABEL: laddress: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lcallee(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: laddress: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lcallee(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: laddress: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lcallee(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -11048,7 +11048,7 @@ ; ; LINUX-64-PIC-LABEL: daddress: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: leaq dcallee(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: daddress: @@ -11071,17 +11071,17 @@ ; ; DARWIN-64-STATIC-LABEL: daddress: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dcallee(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: daddress: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dcallee(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: daddress: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dcallee(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -11623,7 +11623,7 @@ ; LINUX-64-STATIC-LABEL: icaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rbx -; LINUX-64-STATIC-NEXT: movq ifunc@{{.*}}(%rip), %rbx +; LINUX-64-STATIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx ; LINUX-64-STATIC-NEXT: callq *(%rbx) ; LINUX-64-STATIC-NEXT: callq *(%rbx) ; LINUX-64-STATIC-NEXT: popq %rbx @@ -11658,7 +11658,7 @@ ; LINUX-64-PIC-LABEL: icaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rbx -; LINUX-64-PIC-NEXT: movq ifunc@{{.*}}(%rip), %rbx +; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: popq %rbx @@ -11700,7 +11700,7 @@ ; DARWIN-64-STATIC-LABEL: icaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rbx -; DARWIN-64-STATIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx +; DARWIN-64-STATIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: popq %rbx @@ -11709,7 +11709,7 @@ ; DARWIN-64-DYNAMIC-LABEL: icaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rbx -; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx +; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: popq %rbx @@ -11718,7 +11718,7 @@ ; DARWIN-64-PIC-LABEL: icaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rbx -; DARWIN-64-PIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx +; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: popq %rbx @@ -11736,8 +11736,8 @@ ; LINUX-64-STATIC-LABEL: dicaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) -; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: callq *difunc(%rip) +; LINUX-64-STATIC-NEXT: callq *difunc(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -11767,8 +11767,8 @@ ; LINUX-64-PIC-LABEL: dicaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rax -; LINUX-64-PIC-NEXT: callq *.Ldifunc${{.*}}(%rip) -; LINUX-64-PIC-NEXT: callq *.Ldifunc${{.*}}(%rip) +; LINUX-64-PIC-NEXT: callq *.Ldifunc$local(%rip) +; LINUX-64-PIC-NEXT: callq *.Ldifunc$local(%rip) ; LINUX-64-PIC-NEXT: popq %rax ; LINUX-64-PIC-NEXT: retq ; @@ -11804,24 +11804,24 @@ ; DARWIN-64-STATIC-LABEL: dicaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) -; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) ; DARWIN-64-STATIC-NEXT: popq %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: dicaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rax -; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) -; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *_difunc(%rip) ; DARWIN-64-DYNAMIC-NEXT: popq %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: dicaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rax -; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) -; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-PIC-NEXT: callq *_difunc(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq @@ -11837,8 +11837,8 @@ ; LINUX-64-STATIC-LABEL: licaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) -; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: callq *lifunc(%rip) +; LINUX-64-STATIC-NEXT: callq *lifunc(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -11868,8 +11868,8 @@ ; LINUX-64-PIC-LABEL: licaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rax -; LINUX-64-PIC-NEXT: callq *{{.*}}(%rip) -; LINUX-64-PIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-PIC-NEXT: callq *lifunc(%rip) +; LINUX-64-PIC-NEXT: callq *lifunc(%rip) ; LINUX-64-PIC-NEXT: popq %rax ; LINUX-64-PIC-NEXT: retq ; @@ -11905,24 +11905,24 @@ ; DARWIN-64-STATIC-LABEL: licaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) -; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) ; DARWIN-64-STATIC-NEXT: popq %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: licaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rax -; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) -; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *_lifunc(%rip) ; DARWIN-64-DYNAMIC-NEXT: popq %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: licaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rax -; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) -; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq @@ -11938,7 +11938,7 @@ ; LINUX-64-STATIC-LABEL: itailcaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rbx -; LINUX-64-STATIC-NEXT: movq ifunc@{{.*}}(%rip), %rbx +; LINUX-64-STATIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx ; LINUX-64-STATIC-NEXT: callq *(%rbx) ; LINUX-64-STATIC-NEXT: callq *(%rbx) ; LINUX-64-STATIC-NEXT: popq %rbx @@ -11973,7 +11973,7 @@ ; LINUX-64-PIC-LABEL: itailcaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rbx -; LINUX-64-PIC-NEXT: movq ifunc@{{.*}}(%rip), %rbx +; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: popq %rbx @@ -12015,7 +12015,7 @@ ; DARWIN-64-STATIC-LABEL: itailcaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rbx -; DARWIN-64-STATIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx +; DARWIN-64-STATIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: popq %rbx @@ -12024,7 +12024,7 @@ ; DARWIN-64-DYNAMIC-LABEL: itailcaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rbx -; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx +; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: popq %rbx @@ -12033,7 +12033,7 @@ ; DARWIN-64-PIC-LABEL: itailcaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rbx -; DARWIN-64-PIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx +; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: popq %rbx @@ -12051,7 +12051,7 @@ ; LINUX-64-STATIC-LABEL: ditailcaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: callq *difunc(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -12079,7 +12079,7 @@ ; LINUX-64-PIC-LABEL: ditailcaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rax -; LINUX-64-PIC-NEXT: callq *.Ldifunc${{.*}}(%rip) +; LINUX-64-PIC-NEXT: callq *.Ldifunc$local(%rip) ; LINUX-64-PIC-NEXT: popq %rax ; LINUX-64-PIC-NEXT: retq ; @@ -12110,21 +12110,21 @@ ; DARWIN-64-STATIC-LABEL: ditailcaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) ; DARWIN-64-STATIC-NEXT: popq %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ditailcaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rax -; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *_difunc(%rip) ; DARWIN-64-DYNAMIC-NEXT: popq %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ditailcaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rax -; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: callq *_difunc(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq @@ -12138,7 +12138,7 @@ ; LINUX-64-STATIC-LABEL: litailcaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: callq *lifunc(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -12166,7 +12166,7 @@ ; LINUX-64-PIC-LABEL: litailcaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rax -; LINUX-64-PIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-PIC-NEXT: callq *lifunc(%rip) ; LINUX-64-PIC-NEXT: popq %rax ; LINUX-64-PIC-NEXT: retq ; @@ -12197,21 +12197,21 @@ ; DARWIN-64-STATIC-LABEL: litailcaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) ; DARWIN-64-STATIC-NEXT: popq %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: litailcaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rax -; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *_lifunc(%rip) ; DARWIN-64-DYNAMIC-NEXT: popq %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: litailcaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rax -; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq diff --git a/llvm/test/CodeGen/X86/xor.ll b/llvm/test/CodeGen/X86/xor.ll --- a/llvm/test/CodeGen/X86/xor.ll +++ b/llvm/test/CodeGen/X86/xor.ll @@ -373,18 +373,18 @@ define <4 x i32> @test10(<4 x i32> %a) nounwind { ; X86-LABEL: test10: ; X86: # %bb.0: -; X86-NEXT: andnps {{\.LCPI[0-9]+_[0-9]+}}, %xmm0 +; X86-NEXT: andnps {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0 ; X86-NEXT: retl ; ; X64-LIN-LABEL: test10: ; X64-LIN: # %bb.0: -; X64-LIN-NEXT: andnps {{.*}}(%rip), %xmm0 +; X64-LIN-NEXT: andnps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0 ; X64-LIN-NEXT: retq ; ; X64-WIN-LABEL: test10: ; X64-WIN: # %bb.0: ; X64-WIN-NEXT: movaps (%rcx), %xmm0 -; X64-WIN-NEXT: andnps __xmm@{{.*}}(%rip), %xmm0 +; X64-WIN-NEXT: andnps __xmm@00001000000010000000100000001000(%rip), %xmm0 ; X64-WIN-NEXT: retq %1 = and <4 x i32> %a, %2 = xor <4 x i32> %1, diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_function_name.ll b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-basic.ll rename from llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_function_name.ll rename to llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-basic.ll --- a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_function_name.ll +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-basic.ll @@ -7,6 +7,9 @@ ;; Check that we accept .seh_proc below the function label. ; RUN: llc -mtriple=x86_64-windows -relocation-model=pic < %s | FileCheck %s --check-prefix=WIN +@gv0 = dso_local global i32 0, align 4 +@gv1 = dso_preemptable global i32 0, align 4 + define hidden i32 @"_Z54bar$ompvariant$bar"() { entry: ret i32 2 @@ -19,3 +22,11 @@ } declare void @ext() + +define i32 @load() { +entry: + %a = load i32, i32* @gv0 + %b = load i32, i32* @gv1 + %c = add i32 %a, %b + ret i32 %c +} diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_function_name.ll.expected b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-basic.ll.expected rename from llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_function_name.ll.expected rename to llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-basic.ll.expected --- a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_function_name.ll.expected +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86-basic.ll.expected @@ -8,6 +8,9 @@ ;; Check that we accept .seh_proc below the function label. ; RUN: llc -mtriple=x86_64-windows -relocation-model=pic < %s | FileCheck %s --check-prefix=WIN +@gv0 = dso_local global i32 0, align 4 +@gv1 = dso_preemptable global i32 0, align 4 + define hidden i32 @"_Z54bar$ompvariant$bar"() { ; CHECK-LABEL: _Z54bar$ompvariant$bar: ; CHECK: # %bb.0: # %entry @@ -64,3 +67,30 @@ } declare void @ext() + +define i32 @load() { +; CHECK-LABEL: load: +; CHECK: # %bb.0: # %entry +; CHECK-NEXT: movl gv0(%rip), %eax +; CHECK-NEXT: movq gv1@GOTPCREL(%rip), %rcx +; CHECK-NEXT: addl (%rcx), %eax +; CHECK-NEXT: retq +; +; PIC-LABEL: load: +; PIC: # %bb.0: # %entry +; PIC-NEXT: movl .Lgv0$local(%rip), %eax +; PIC-NEXT: movq gv1@GOTPCREL(%rip), %rcx +; PIC-NEXT: addl (%rcx), %eax +; PIC-NEXT: retq +; +; WIN-LABEL: load: +; WIN: # %bb.0: # %entry +; WIN-NEXT: movl gv0(%rip), %eax +; WIN-NEXT: addl gv1(%rip), %eax +; WIN-NEXT: retq +entry: + %a = load i32, i32* @gv0 + %b = load i32, i32* @gv1 + %c = add i32 %a, %b + ret i32 %c +} diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_generated_funcs.ll.generated.expected b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_generated_funcs.ll.generated.expected --- a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_generated_funcs.ll.generated.expected +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_generated_funcs.ll.generated.expected @@ -105,7 +105,7 @@ ; CHECK-NEXT: subq $20, %rsp ; CHECK-NEXT: movl $0, -20(%rbp) ; CHECK-NEXT: callq OUTLINED_FUNCTION_1 -; CHECK-NEXT: movl $1, {{.*}}(%rip) +; CHECK-NEXT: movl $1, x(%rip) ; CHECK-NEXT: #APP ; CHECK-NEXT: #NO_APP ; CHECK-NEXT: callq OUTLINED_FUNCTION_1 diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_generated_funcs.ll.nogenerated.expected b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_generated_funcs.ll.nogenerated.expected --- a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_generated_funcs.ll.nogenerated.expected +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/x86_generated_funcs.ll.nogenerated.expected @@ -82,7 +82,7 @@ ; CHECK-NEXT: subq $20, %rsp ; CHECK-NEXT: movl $0, -20(%rbp) ; CHECK-NEXT: callq OUTLINED_FUNCTION_1 -; CHECK-NEXT: movl $1, {{.*}}(%rip) +; CHECK-NEXT: movl $1, x(%rip) ; CHECK-NEXT: #APP ; CHECK-NEXT: #NO_APP ; CHECK-NEXT: callq OUTLINED_FUNCTION_1 diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/basic.test b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/basic.test --- a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/basic.test +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/basic.test @@ -12,14 +12,14 @@ # RUN: echo '; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --extra_scrub' > %t.expected.ll # RUN: cat %S/Inputs/basic.ll.expected >> %t.expected.ll # RUN: diff -u %t.expected.ll %t.ll -# RUN: cp -f %S/Inputs/basic.ll %t.ll && %update_llc_test_checks --no_x86_scrub_rip %t.ll -# RUN: echo '; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --no_x86_scrub_rip' > %t.expected.ll +# RUN: cp -f %S/Inputs/basic.ll %t.ll && %update_llc_test_checks --x86_scrub_rip %t.ll +# RUN: echo '; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --x86_scrub_rip' > %t.expected.ll # RUN: cat %S/Inputs/basic.ll.expected >> %t.expected.ll # RUN: diff -u %t.expected.ll %t.ll ## Finally, run the script on an already updated file and verify that all previous ## CHECK lines are removed. # RUN: %update_llc_test_checks %t.ll -# RUN: echo '; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --no_x86_scrub_rip' > %t.expected.ll +# RUN: echo '; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --x86_scrub_rip' > %t.expected.ll # RUN: cat %S/Inputs/basic.ll.expected >> %t.expected.ll # RUN: diff -u %t.expected.ll %t.ll diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/x86-basic.test b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/x86-basic.test new file mode 100644 --- /dev/null +++ b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/x86-basic.test @@ -0,0 +1,5 @@ +# REQUIRES: x86-registered-target +## Check that functions names with '$' are processed correctly + +# RUN: cp -f %S/Inputs/x86-basic.ll %t.ll && %update_llc_test_checks %t.ll +# RUN: diff -u %S/Inputs/x86-basic.ll.expected %t.ll diff --git a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/x86-function-name.test b/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/x86-function-name.test deleted file mode 100644 --- a/llvm/test/tools/UpdateTestChecks/update_llc_test_checks/x86-function-name.test +++ /dev/null @@ -1,5 +0,0 @@ -# REQUIRES: x86-registered-target -## Check that functions names with '$' are processed correctly - -# RUN: cp -f %S/Inputs/x86_function_name.ll %t.ll && %update_llc_test_checks %t.ll -# RUN: diff -u %S/Inputs/x86_function_name.ll.expected %t.ll diff --git a/llvm/utils/UpdateTestChecks/asm.py b/llvm/utils/UpdateTestChecks/asm.py --- a/llvm/utils/UpdateTestChecks/asm.py +++ b/llvm/utils/UpdateTestChecks/asm.py @@ -171,7 +171,7 @@ flags=re.M)) SCRUB_X86_SP_RE = re.compile(r'\d+\(%(esp|rsp)\)') SCRUB_X86_RIP_RE = re.compile(r'[.\w]+\(%rip\)') -SCRUB_X86_LCP_RE = re.compile(r'\.LCPI[0-9]+_[0-9]+') +SCRUB_X86_LCP_RE = re.compile(r'\.?LCPI[0-9]+_[0-9]+') SCRUB_X86_RET_RE = re.compile(r'ret[l|q]') def scrub_asm_x86(asm, args): @@ -197,7 +197,7 @@ # Generically match a RIP-relative memory operand. asm = SCRUB_X86_RIP_RE.sub(r'{{.*}}(%rip)', asm) # Generically match a LCP symbol. - asm = SCRUB_X86_LCP_RE.sub(r'{{\.LCPI[0-9]+_[0-9]+}}', asm) + asm = SCRUB_X86_LCP_RE.sub(r'{{\.?LCPI[0-9]+_[0-9]+}}', asm) if getattr(args, 'extra_scrub', False): # Avoid generating different checks for 32- and 64-bit because of 'retl' vs 'retq'. asm = SCRUB_X86_RET_RE.sub(r'ret{{[l|q]}}', asm) diff --git a/llvm/utils/update_llc_test_checks.py b/llvm/utils/update_llc_test_checks.py --- a/llvm/utils/update_llc_test_checks.py +++ b/llvm/utils/update_llc_test_checks.py @@ -33,7 +33,7 @@ parser.add_argument( '--no_x86_scrub_sp', action='store_false', dest='x86_scrub_sp') parser.add_argument( - '--x86_scrub_rip', action='store_true', default=True, + '--x86_scrub_rip', action='store_true', default=False, help='Use more regex for x86 rip matching to reduce diffs between various subtargets') parser.add_argument( '--no_x86_scrub_rip', action='store_false', dest='x86_scrub_rip')