From 961f31d8ad14c66829991522d73e14b5a96ff6d4 Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Fri, 4 Dec 2020 19:03:40 -0800 Subject: [PATCH] [TargetMachine] Don't imply dso_local on global variable declarations in Reloc::Static model clang/lib/CodeGen/CodeGenModule sets dso_local on applicable global variables, we don't need to duplicate the work in TargetMachine:shouldAssumeDSOLocal. (Actually the long-term goal (started by r324535) is to remove as much additional implied dso_local in TargetMachine:shouldAssumeDSOLocal as possible.) By not implying dso_local, we will respect dso_local/dso_preemptable specifiers set by the frontend. This allows the proposed -fno-direct-access-external-data option to work with -fno-pic and prevent copy relocations. This patch should be NFC in terms of the Clang behavior because the case we don't set dso_local is a case Clang sets dso_local. However, some tests don't set dso_local on some `external global` and expose some differences. Most tests have been fixed to be more robust in previous commits. --- llvm/lib/Target/TargetMachine.cpp | 15 +- llvm/test/CodeGen/AArch64/extern-weak.ll | 10 +- llvm/test/CodeGen/AArch64/tiny_model.ll | 25 +- llvm/test/CodeGen/X86/abi-isel.ll | 2047 +++++++++-------- llvm/test/CodeGen/X86/br-fold.ll | 4 +- llvm/test/CodeGen/X86/code-model-elf.ll | 104 +- llvm/test/CodeGen/X86/emutls.ll | 2 +- llvm/test/CodeGen/X86/linux-preemption.ll | 4 +- .../speculative-load-hardening-indirect.ll | 14 +- .../X86/tail-dup-merge-loop-headers.ll | 2 +- llvm/test/CodeGen/X86/x86-64-mem.ll | 10 +- llvm/test/CodeGen/X86/x86-store-gv-addr.ll | 4 +- llvm/test/CodeGen/XCore/threads.ll | 4 +- 13 files changed, 1160 insertions(+), 1085 deletions(-) diff --git a/llvm/lib/Target/TargetMachine.cpp b/llvm/lib/Target/TargetMachine.cpp index 074e9fde79e6b3..f648b27d695f24 100644 --- a/llvm/lib/Target/TargetMachine.cpp +++ b/llvm/lib/Target/TargetMachine.cpp @@ -190,9 +190,18 @@ bool TargetMachine::shouldAssumeDSOLocal(const Module &M, if (Arch == Triple::ppc || TT.isPPC64()) return false; - // Check if we can use copy relocations. - if (!(GV && GV->isThreadLocal()) && RM == Reloc::Static) - return true; + // dso_local is traditionally implied for Reloc::Static. Eventually we shall + // drop the if block entirely and respect dso_local/dso_preemptable + // specifiers set by the frontend. + if (RM == Reloc::Static) { + // We currently respect dso_local/dso_preemptable specifiers for + // variables. + if (!GV || F) + return true; + // TODO Remove the special case for x86-32 and wasm. + if ((Arch == Triple::x86 || TT.isWasm()) && !GV->isThreadLocal()) + return true; + } } else if (TT.isOSBinFormatELF()) { // If dso_local allows AsmPrinter::getSymbolPreferLocal to use a local // alias, set the flag. We cannot set dso_local for other global values, diff --git a/llvm/test/CodeGen/AArch64/extern-weak.ll b/llvm/test/CodeGen/AArch64/extern-weak.ll index 622c5a4752e87c..4ea8c2617e6e4f 100644 --- a/llvm/test/CodeGen/AArch64/extern-weak.ll +++ b/llvm/test/CodeGen/AArch64/extern-weak.ll @@ -39,12 +39,10 @@ define i32* @bar() { ret i32* %addr - ; In the large model, the usual relocations are absolute and can - ; materialise 0. -; CHECK-LARGE: movz [[ADDR:x[0-9]+]], #:abs_g0_nc:arr_var -; CHECK-LARGE: movk [[ADDR]], #:abs_g1_nc:arr_var -; CHECK-LARGE: movk [[ADDR]], #:abs_g2_nc:arr_var -; CHECK-LARGE: movk [[ADDR]], #:abs_g3:arr_var + ; Note, In the large model, if dso_local, the relocations are absolute and can materialise 0. +; CHECK-LARGE: adrp x[[ADDR:[0-9]+]], :got:arr_var +; CHECK-LARGE-NEXT: ldr x[[ADDR]], [x[[ADDR]], :got_lo12:arr_var] +; CHECK-LARGE-NEXT: add x0, x[[ADDR]], #20 ; CHECK-TINY: ldr [[BASE:x[0-9]+]], :got:arr_var ; CHECK-TINY: add x0, [[BASE]], #20 diff --git a/llvm/test/CodeGen/AArch64/tiny_model.ll b/llvm/test/CodeGen/AArch64/tiny_model.ll index ba6891ed7dba2a..c66e09df3c299a 100644 --- a/llvm/test/CodeGen/AArch64/tiny_model.ll +++ b/llvm/test/CodeGen/AArch64/tiny_model.ll @@ -15,17 +15,17 @@ define void @foo1() { ; CHECK-LABEL: foo1: ; CHECK: // %bb.0: // %entry -; CHECK-NEXT: adr x8, src +; CHECK-NEXT: ldr x8, :got:src ; CHECK-NEXT: ldrb w8, [x8] -; CHECK-NEXT: adr x9, dst +; CHECK-NEXT: ldr x9, :got:dst ; CHECK-NEXT: strb w8, [x9] ; CHECK-NEXT: ret ; ; CHECK-GLOBISEL-LABEL: foo1: ; CHECK-GLOBISEL: // %bb.0: // %entry -; CHECK-GLOBISEL-NEXT: adr x8, src +; CHECK-GLOBISEL-NEXT: ldr x8, :got:src ; CHECK-GLOBISEL-NEXT: ldrb w8, [x8] -; CHECK-GLOBISEL-NEXT: adr x9, dst +; CHECK-GLOBISEL-NEXT: ldr x9, :got:dst ; CHECK-GLOBISEL-NEXT: strb w8, [x9] ; CHECK-GLOBISEL-NEXT: ret ; @@ -53,15 +53,15 @@ entry: define void @foo2() { ; CHECK-LABEL: foo2: ; CHECK: // %bb.0: // %entry -; CHECK-NEXT: adr x8, ptr -; CHECK-NEXT: adr x9, dst +; CHECK-NEXT: ldr x8, :got:ptr +; CHECK-NEXT: ldr x9, :got:dst ; CHECK-NEXT: str x9, [x8] ; CHECK-NEXT: ret ; ; CHECK-GLOBISEL-LABEL: foo2: ; CHECK-GLOBISEL: // %bb.0: // %entry -; CHECK-GLOBISEL-NEXT: adr x8, ptr -; CHECK-GLOBISEL-NEXT: adr x9, dst +; CHECK-GLOBISEL-NEXT: ldr x8, :got:ptr +; CHECK-GLOBISEL-NEXT: ldr x9, :got:dst ; CHECK-GLOBISEL-NEXT: str x9, [x8] ; CHECK-GLOBISEL-NEXT: ret ; @@ -88,16 +88,17 @@ define void @foo3() { ; ; CHECK-LABEL: foo3: ; CHECK: // %bb.0: // %entry -; CHECK-NEXT: adr x8, src +; CHECK-NEXT: ldr x8, :got:src +; CHECK-NEXT: ldr x9, :got:ptr ; CHECK-NEXT: ldrb w8, [x8] -; CHECK-NEXT: ldr x9, ptr +; CHECK-NEXT: ldr x9, [x9] ; CHECK-NEXT: strb w8, [x9] ; CHECK-NEXT: ret ; ; CHECK-GLOBISEL-LABEL: foo3: ; CHECK-GLOBISEL: // %bb.0: // %entry -; CHECK-GLOBISEL-NEXT: adr x8, src -; CHECK-GLOBISEL-NEXT: adr x9, ptr +; CHECK-GLOBISEL-NEXT: ldr x8, :got:src +; CHECK-GLOBISEL-NEXT: ldr x9, :got:ptr ; CHECK-GLOBISEL-NEXT: ldrb w8, [x8] ; CHECK-GLOBISEL-NEXT: ldr x9, [x9] ; CHECK-GLOBISEL-NEXT: strb w8, [x9] diff --git a/llvm/test/CodeGen/X86/abi-isel.ll b/llvm/test/CodeGen/X86/abi-isel.ll index f2ea051c5f6280..a416a5abb97863 100644 --- a/llvm/test/CodeGen/X86/abi-isel.ll +++ b/llvm/test/CodeGen/X86/abi-isel.ll @@ -36,8 +36,10 @@ define void @foo00() nounwind { ; LINUX-64-STATIC-LABEL: foo00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, dst(%rip) +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl (%rax), %eax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo00: @@ -61,9 +63,9 @@ define void @foo00() nounwind { ; ; LINUX-64-PIC-LABEL: foo00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -94,25 +96,25 @@ define void @foo00() nounwind { ; ; DARWIN-64-STATIC-LABEL: foo00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -126,8 +128,10 @@ entry: define void @fxo00() nounwind { ; LINUX-64-STATIC-LABEL: fxo00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, xdst(%rip) +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl (%rax), %eax +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: fxo00: @@ -151,9 +155,9 @@ define void @fxo00() nounwind { ; ; LINUX-64-PIC-LABEL: fxo00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -184,25 +188,25 @@ define void @fxo00() nounwind { ; ; DARWIN-64-STATIC-LABEL: fxo00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -216,7 +220,9 @@ entry: define void @foo01() nounwind { ; LINUX-64-STATIC-LABEL: foo01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $dst, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo01: @@ -238,8 +244,8 @@ define void @foo01() nounwind { ; ; LINUX-64-PIC-LABEL: foo01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -267,22 +273,22 @@ define void @foo01() nounwind { ; ; DARWIN-64-STATIC-LABEL: foo01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -294,7 +300,9 @@ entry: define void @fxo01() nounwind { ; LINUX-64-STATIC-LABEL: fxo01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $xdst, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: fxo01: @@ -316,8 +324,8 @@ define void @fxo01() nounwind { ; ; LINUX-64-PIC-LABEL: fxo01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -345,22 +353,22 @@ define void @fxo01() nounwind { ; ; DARWIN-64-STATIC-LABEL: fxo01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -372,8 +380,10 @@ entry: define void @foo02() nounwind { ; LINUX-64-STATIC-LABEL: foo02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src(%rip), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl (%rax), %eax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -400,9 +410,9 @@ define void @foo02() nounwind { ; ; LINUX-64-PIC-LABEL: foo02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq @@ -437,27 +447,27 @@ define void @foo02() nounwind { ; ; DARWIN-64-STATIC-LABEL: foo02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -472,8 +482,10 @@ entry: define void @fxo02() nounwind { ; LINUX-64-STATIC-LABEL: fxo02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc(%rip), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl (%rax), %eax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -500,9 +512,9 @@ define void @fxo02() nounwind { ; ; LINUX-64-PIC-LABEL: fxo02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq @@ -537,27 +549,27 @@ define void @fxo02() nounwind { ; ; DARWIN-64-STATIC-LABEL: fxo02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -572,8 +584,8 @@ entry: define void @foo03() nounwind { ; LINUX-64-STATIC-LABEL: foo03: ; 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 {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo03: @@ -597,9 +609,9 @@ define void @foo03() nounwind { ; ; LINUX-64-PIC-LABEL: foo03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -626,20 +638,20 @@ define void @foo03() nounwind { ; ; DARWIN-64-STATIC-LABEL: foo03: ; 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 {{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo03: ; 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 {{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo03: ; 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 {{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -651,7 +663,7 @@ entry: define void @foo04() nounwind { ; LINUX-64-STATIC-LABEL: foo04: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ddst, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ddst, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo04: @@ -673,8 +685,8 @@ define void @foo04() nounwind { ; ; LINUX-64-PIC-LABEL: foo04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -699,20 +711,20 @@ define void @foo04() nounwind { ; ; DARWIN-64-STATIC-LABEL: foo04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -723,8 +735,8 @@ entry: define void @foo05() nounwind { ; LINUX-64-STATIC-LABEL: foo05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc(%rip), %eax -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -751,9 +763,9 @@ define void @foo05() nounwind { ; ; LINUX-64-PIC-LABEL: foo05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq @@ -784,22 +796,22 @@ define void @foo05() nounwind { ; ; DARWIN-64-STATIC-LABEL: foo05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _dsrc(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _dsrc(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -813,8 +825,8 @@ entry: define void @foo06() nounwind { ; LINUX-64-STATIC-LABEL: foo06: ; 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 {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo06: @@ -836,8 +848,8 @@ define void @foo06() nounwind { ; ; LINUX-64-PIC-LABEL: foo06: ; 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 {{.*}}(%rip), %eax +; LINUX-64-PIC-NEXT: movl %eax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: foo06: @@ -863,20 +875,20 @@ define void @foo06() nounwind { ; ; DARWIN-64-STATIC-LABEL: foo06: ; 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 {{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo06: ; 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 {{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo06: ; 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 {{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -888,7 +900,7 @@ entry: define void @foo07() nounwind { ; LINUX-64-STATIC-LABEL: foo07: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ldst, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ldst, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: foo07: @@ -909,8 +921,8 @@ define void @foo07() nounwind { ; ; LINUX-64-PIC-LABEL: foo07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: foo07: @@ -934,20 +946,20 @@ define void @foo07() nounwind { ; ; DARWIN-64-STATIC-LABEL: foo07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: foo07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: foo07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -958,8 +970,8 @@ entry: define void @foo08() nounwind { ; LINUX-64-STATIC-LABEL: foo08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc(%rip), %eax -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -984,8 +996,8 @@ define void @foo08() nounwind { ; ; LINUX-64-PIC-LABEL: foo08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc(%rip), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movl {{.*}}(%rip), %eax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1015,22 +1027,22 @@ define void @foo08() nounwind { ; ; DARWIN-64-STATIC-LABEL: foo08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _lsrc(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _lsrc(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl {{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1044,8 +1056,10 @@ entry: define void @qux00() nounwind { ; LINUX-64-STATIC-LABEL: qux00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, dst+64(%rip) +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux00: @@ -1069,9 +1083,9 @@ define void @qux00() nounwind { ; ; LINUX-64-PIC-LABEL: qux00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1102,25 +1116,25 @@ define void @qux00() nounwind { ; ; DARWIN-64-STATIC-LABEL: qux00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1133,8 +1147,10 @@ entry: define void @qxx00() nounwind { ; LINUX-64-STATIC-LABEL: qxx00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, xdst+64(%rip) +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qxx00: @@ -1158,9 +1174,9 @@ define void @qxx00() nounwind { ; ; LINUX-64-PIC-LABEL: qxx00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1191,25 +1207,25 @@ define void @qxx00() nounwind { ; ; DARWIN-64-STATIC-LABEL: qxx00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1222,7 +1238,10 @@ entry: define void @qux01() nounwind { ; LINUX-64-STATIC-LABEL: qux01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $dst+64, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq $64, %rax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux01: @@ -1245,9 +1264,9 @@ define void @qux01() nounwind { ; ; LINUX-64-PIC-LABEL: qux01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1277,25 +1296,25 @@ define void @qux01() nounwind { ; ; DARWIN-64-STATIC-LABEL: qux01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1307,7 +1326,10 @@ entry: define void @qxx01() nounwind { ; LINUX-64-STATIC-LABEL: qxx01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $xdst+64, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq $64, %rax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qxx01: @@ -1330,9 +1352,9 @@ define void @qxx01() nounwind { ; ; LINUX-64-PIC-LABEL: qxx01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1362,25 +1384,25 @@ define void @qxx01() nounwind { ; ; DARWIN-64-STATIC-LABEL: qxx01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: addq $64, %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1392,8 +1414,10 @@ entry: define void @qux02() nounwind { ; LINUX-64-STATIC-LABEL: qux02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1420,9 +1444,9 @@ define void @qux02() nounwind { ; ; LINUX-64-PIC-LABEL: qux02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -1457,27 +1481,27 @@ define void @qux02() nounwind { ; ; DARWIN-64-STATIC-LABEL: qux02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1493,8 +1517,10 @@ entry: define void @qxx02() nounwind { ; LINUX-64-STATIC-LABEL: qxx02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl 64(%rax), %eax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1521,9 +1547,9 @@ define void @qxx02() nounwind { ; ; LINUX-64-PIC-LABEL: qxx02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -1558,27 +1584,27 @@ define void @qxx02() nounwind { ; ; DARWIN-64-STATIC-LABEL: qxx02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1594,8 +1620,8 @@ entry: define void @qux03() nounwind { ; LINUX-64-STATIC-LABEL: qux03: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ddst+64(%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: qux03: @@ -1619,9 +1645,9 @@ define void @qux03() nounwind { ; ; LINUX-64-PIC-LABEL: qux03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1648,20 +1674,20 @@ define void @qux03() nounwind { ; ; DARWIN-64-STATIC-LABEL: qux03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+64(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ddst+64(%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: qux03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+64(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst+64(%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: qux03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc+64(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ddst+64(%rip) +; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1673,7 +1699,7 @@ entry: define void @qux04() nounwind { ; LINUX-64-STATIC-LABEL: qux04: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ddst+64, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ddst+64, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux04: @@ -1696,9 +1722,9 @@ define void @qux04() nounwind { ; ; LINUX-64-PIC-LABEL: qux04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -1723,20 +1749,20 @@ define void @qux04() nounwind { ; ; DARWIN-64-STATIC-LABEL: qux04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+64(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+64(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+64(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1747,8 +1773,8 @@ entry: define void @qux05() nounwind { ; LINUX-64-STATIC-LABEL: qux05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl dsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -1775,9 +1801,9 @@ define void @qux05() nounwind { ; ; LINUX-64-PIC-LABEL: qux05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -1808,22 +1834,22 @@ define void @qux05() nounwind { ; ; DARWIN-64-STATIC-LABEL: qux05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+64(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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+64(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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+64(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -1838,8 +1864,8 @@ entry: define void @qux06() nounwind { ; LINUX-64-STATIC-LABEL: qux06: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ldst+64(%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: qux06: @@ -1861,8 +1887,8 @@ define void @qux06() nounwind { ; ; LINUX-64-PIC-LABEL: qux06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+64(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, ldst+64(%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: qux06: @@ -1888,20 +1914,20 @@ define void @qux06() nounwind { ; ; DARWIN-64-STATIC-LABEL: qux06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+64(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ldst+64(%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: qux06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+64(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst+64(%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: qux06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc+64(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ldst+64(%rip) +; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1913,7 +1939,7 @@ entry: define void @qux07() nounwind { ; LINUX-64-STATIC-LABEL: qux07: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ldst+64, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ldst+64, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: qux07: @@ -1934,8 +1960,8 @@ define void @qux07() nounwind { ; ; LINUX-64-PIC-LABEL: qux07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+64(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: qux07: @@ -1959,20 +1985,20 @@ define void @qux07() nounwind { ; ; DARWIN-64-STATIC-LABEL: qux07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+64(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: qux07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+64(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: qux07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+64(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -1983,8 +2009,8 @@ entry: define void @qux08() nounwind { ; LINUX-64-STATIC-LABEL: qux08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+64(%rip), %eax -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -2009,8 +2035,8 @@ define void @qux08() nounwind { ; ; LINUX-64-PIC-LABEL: qux08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+64(%rip), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -2040,22 +2066,22 @@ define void @qux08() nounwind { ; ; DARWIN-64-STATIC-LABEL: qux08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+64(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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+64(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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+64(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -2070,8 +2096,10 @@ entry: define void @ind00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: ind00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movl %eax, dst(,%rdi,4) +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ind00: @@ -2097,9 +2125,9 @@ define void @ind00(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: ind00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2133,25 +2161,25 @@ define void @ind00(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: ind00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2166,8 +2194,10 @@ entry: define void @ixd00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: ixd00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movl %eax, xdst(,%rdi,4) +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ixd00: @@ -2193,9 +2223,9 @@ define void @ixd00(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: ixd00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2229,25 +2259,25 @@ define void @ixd00(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: ixd00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2262,8 +2292,10 @@ entry: define void @ind01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: ind01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq dst(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, ptr(%rip) +; 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: movq %rdi, (%rax) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ind01: @@ -2290,8 +2322,8 @@ define void @ind01(i64 %i) nounwind { ; LINUX-64-PIC-LABEL: ind01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: shlq $2, %rdi -; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rdi -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq dst@{{.*}}(%rip), %rdi +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq %rdi, (%rax) ; LINUX-64-PIC-NEXT: retq ; @@ -2326,24 +2358,24 @@ define void @ind01(i64 %i) nounwind { ; DARWIN-64-STATIC-LABEL: ind01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: shlq $2, %rdi -; DARWIN-64-STATIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _dst@{{.*}}(%rip), %rdi +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rdi -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _dst@{{.*}}(%rip), %rdi +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rdi -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _dst@{{.*}}(%rip), %rdi +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-PIC-NEXT: retq @@ -2356,8 +2388,10 @@ entry: define void @ixd01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: ixd01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq xdst(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, ptr(%rip) +; 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: movq %rdi, (%rax) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ixd01: @@ -2384,8 +2418,8 @@ define void @ixd01(i64 %i) nounwind { ; LINUX-64-PIC-LABEL: ixd01: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: shlq $2, %rdi -; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rdi -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq xdst@{{.*}}(%rip), %rdi +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq %rdi, (%rax) ; LINUX-64-PIC-NEXT: retq ; @@ -2420,24 +2454,24 @@ define void @ixd01(i64 %i) nounwind { ; DARWIN-64-STATIC-LABEL: ixd01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: shlq $2, %rdi -; DARWIN-64-STATIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _xdst@{{.*}}(%rip), %rdi +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rdi -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _xdst@{{.*}}(%rip), %rdi +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rdi -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _xdst@{{.*}}(%rip), %rdi +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq %rdi, (%rax) ; DARWIN-64-PIC-NEXT: retq @@ -2450,8 +2484,10 @@ entry: define void @ind02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: ind02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -2480,9 +2516,9 @@ define void @ind02(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: ind02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -2520,27 +2556,27 @@ define void @ind02(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: ind02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2557,8 +2593,10 @@ entry: define void @ixd02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: ixd02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -2587,9 +2625,9 @@ define void @ixd02(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: ixd02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -2627,27 +2665,27 @@ define void @ixd02(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: ixd02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2691,9 +2729,9 @@ define void @ind03(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: ind03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -2723,25 +2761,25 @@ define void @ind03(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: ind03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2757,7 +2795,7 @@ define void @ind04(i64 %i) nounwind { ; 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, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ind04: @@ -2784,8 +2822,8 @@ define void @ind04(i64 %i) nounwind { ; LINUX-64-PIC-LABEL: ind04: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: shlq $2, %rdi -; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), %rdi -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq ddst@{{.*}}(%rip), %rdi +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq %rdi, (%rax) ; LINUX-64-PIC-NEXT: retq ; @@ -2815,23 +2853,23 @@ define void @ind04(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: ind04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -2844,7 +2882,7 @@ define void @ind05(i64 %i) nounwind { ; 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 dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -2873,9 +2911,9 @@ define void @ind05(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: ind05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -2909,25 +2947,25 @@ define void @ind05(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: ind05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -2968,9 +3006,9 @@ define void @ind06(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: ind06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3000,25 +3038,25 @@ define void @ind06(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: ind06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3034,7 +3072,7 @@ define void @ind07(i64 %i) nounwind { ; 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, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: ind07: @@ -3058,9 +3096,9 @@ define void @ind07(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: ind07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: ind07: @@ -3089,23 +3127,23 @@ define void @ind07(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: ind07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: ind07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: ind07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq (%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -3118,7 +3156,7 @@ define void @ind08(i64 %i) nounwind { ; 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 lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -3145,9 +3183,9 @@ define void @ind08(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: ind08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3180,25 +3218,25 @@ define void @ind08(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: ind08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl (%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, (%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3214,8 +3252,10 @@ entry: define void @off00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: off00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+64(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movl %eax, dst+64(,%rdi,4) +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: off00: @@ -3241,9 +3281,9 @@ define void @off00(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: off00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3277,25 +3317,25 @@ define void @off00(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: off00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3311,8 +3351,10 @@ entry: define void @oxf00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: oxf00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc+64(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movl %eax, xdst+64(,%rdi,4) +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: oxf00: @@ -3338,9 +3380,9 @@ define void @oxf00(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: oxf00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3374,25 +3416,25 @@ define void @oxf00(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: oxf00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3408,8 +3450,10 @@ entry: define void @off01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: off01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq dst+64(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%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 %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: off01: @@ -3435,9 +3479,9 @@ define void @off01(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: off01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -3471,25 +3515,25 @@ define void @off01(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: off01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -3503,8 +3547,10 @@ entry: define void @oxf01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: oxf01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq xdst+64(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%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 %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: oxf01: @@ -3530,9 +3576,9 @@ define void @oxf01(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: oxf01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -3566,25 +3612,25 @@ define void @oxf01(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: oxf01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -3598,8 +3644,10 @@ entry: define void @off02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: off02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+64(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%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 (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -3628,9 +3676,9 @@ define void @off02(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: off02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -3668,27 +3716,27 @@ define void @off02(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: off02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3706,8 +3754,10 @@ entry: define void @oxf02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: oxf02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl xsrc+64(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%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 (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -3736,9 +3786,9 @@ define void @oxf02(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: oxf02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -3776,27 +3826,27 @@ define void @oxf02(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: oxf02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3841,9 +3891,9 @@ define void @off03(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: off03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -3873,25 +3923,25 @@ define void @off03(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: off03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -3908,7 +3958,7 @@ define void @off04(i64 %i) nounwind { ; 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, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: off04: @@ -3934,9 +3984,9 @@ define void @off04(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: off04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -3966,23 +4016,23 @@ define void @off04(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: off04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -3996,7 +4046,7 @@ define void @off05(i64 %i) nounwind { ; 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 dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -4025,9 +4075,9 @@ define void @off05(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: off05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -4061,25 +4111,25 @@ define void @off05(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: off05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -4121,9 +4171,9 @@ define void @off06(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: off06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -4153,25 +4203,25 @@ define void @off06(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: off06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -4188,7 +4238,7 @@ define void @off07(i64 %i) nounwind { ; 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, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: off07: @@ -4212,9 +4262,9 @@ define void @off07(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: off07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: off07: @@ -4243,23 +4293,23 @@ define void @off07(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: off07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: off07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: off07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4273,7 +4323,7 @@ define void @off08(i64 %i) nounwind { ; 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 lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -4300,9 +4350,9 @@ define void @off08(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: off08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -4335,25 +4385,25 @@ define void @off08(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: off08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 64(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 64(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -4370,8 +4420,10 @@ entry: define void @moo00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, dst+262144(%rip) +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl 262144(%rax), %eax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo00: @@ -4395,9 +4447,9 @@ define void @moo00(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: moo00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4428,25 +4480,25 @@ define void @moo00(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: moo00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4459,7 +4511,10 @@ entry: define void @moo01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $dst+262144, ptr(%rip) +; 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: movq %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo01: @@ -4483,8 +4538,8 @@ define void @moo01(i64 %i) nounwind { ; 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@GOTPCREL(%rip), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: addq dst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4515,24 +4570,24 @@ define void @moo01(i64 %i) nounwind { ; 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@GOTPCREL(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: addq _dst@{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: addq _dst@{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: addq _dst@{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4544,8 +4599,10 @@ entry: define void @moo02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl 262144(%rax), %eax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -4572,9 +4629,9 @@ define void @moo02(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: moo02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -4609,27 +4666,27 @@ define void @moo02(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: moo02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4645,8 +4702,8 @@ entry: define void @moo03(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo03: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ddst+262144(%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: moo03: @@ -4670,9 +4727,9 @@ define void @moo03(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: moo03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4699,20 +4756,20 @@ define void @moo03(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: moo03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+262144(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ddst+262144(%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: moo03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+262144(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ddst+262144(%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: moo03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _dsrc+262144(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ddst+262144(%rip) +; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ddst+{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4724,7 +4781,7 @@ entry: define void @moo04(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo04: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ddst+262144, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ddst+262144, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo04: @@ -4748,8 +4805,8 @@ define void @moo04(i64 %i) nounwind { ; LINUX-64-PIC-LABEL: moo04: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), %rax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: addq ddst@{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -4774,20 +4831,20 @@ define void @moo04(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: moo04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+262144(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+262144(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+262144(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4798,8 +4855,8 @@ entry: define void @moo05(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl dsrc+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl dsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -4826,9 +4883,9 @@ define void @moo05(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: moo05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq @@ -4859,22 +4916,22 @@ define void @moo05(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: moo05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _dsrc+262144(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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+262144(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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+262144(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _dsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -4889,8 +4946,8 @@ entry: define void @moo06(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo06: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movl %eax, ldst+262144(%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: moo06: @@ -4912,8 +4969,8 @@ define void @moo06(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: moo06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+262144(%rip), %eax -; LINUX-64-PIC-NEXT: movl %eax, ldst+262144(%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: moo06: @@ -4939,20 +4996,20 @@ define void @moo06(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: moo06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+262144(%rip), %eax -; DARWIN-64-STATIC-NEXT: movl %eax, _ldst+262144(%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: moo06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+262144(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movl %eax, _ldst+262144(%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: moo06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movl _lsrc+262144(%rip), %eax -; DARWIN-64-PIC-NEXT: movl %eax, _ldst+262144(%rip) +; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movl %eax, _ldst+{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -4964,7 +5021,7 @@ entry: define void @moo07(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo07: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq $ldst+262144, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq $ldst+262144, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: moo07: @@ -4985,8 +5042,8 @@ define void @moo07(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: moo07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+262144(%rip), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: moo07: @@ -5010,20 +5067,20 @@ define void @moo07(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: moo07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+262144(%rip), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: moo07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+262144(%rip), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: moo07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+262144(%rip), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -5034,8 +5091,8 @@ entry: define void @moo08(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: moo08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl lsrc+262144(%rip), %eax -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-STATIC-NEXT: retq ; @@ -5060,8 +5117,8 @@ define void @moo08(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: moo08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movl lsrc+262144(%rip), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movl lsrc+{{.*}}(%rip), %eax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -5091,22 +5148,22 @@ define void @moo08(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: moo08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movl _lsrc+262144(%rip), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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+262144(%rip), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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+262144(%rip), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movl _lsrc+{{.*}}(%rip), %eax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -5121,8 +5178,10 @@ entry: define void @big00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: big00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+262144(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movl %eax, dst+262144(,%rdi,4) +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: big00: @@ -5148,9 +5207,9 @@ define void @big00(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: big00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5184,25 +5243,25 @@ define void @big00(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: big00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5218,8 +5277,10 @@ entry: define void @big01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: big01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq dst+262144(,%rdi,4), %rax -; LINUX-64-STATIC-NEXT: movq %rax, ptr(%rip) +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%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 %rax, (%rcx) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: big01: @@ -5245,9 +5306,9 @@ define void @big01(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: big01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -5281,25 +5342,25 @@ define void @big01(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: big01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq %rax, (%rcx) ; DARWIN-64-PIC-NEXT: retq @@ -5313,8 +5374,10 @@ entry: define void @big02(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: big02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl src+262144(,%rdi,4), %eax -; LINUX-64-STATIC-NEXT: movq ptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%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 (%rcx), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -5343,9 +5406,9 @@ define void @big02(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: big02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -5383,27 +5446,27 @@ define void @big02(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: big02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movq (%rcx), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5448,9 +5511,9 @@ define void @big03(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: big03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5480,25 +5543,25 @@ define void @big03(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: big03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5515,7 +5578,7 @@ define void @big04(i64 %i) nounwind { ; 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, dptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: big04: @@ -5541,9 +5604,9 @@ define void @big04(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: big04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq %rax, (%rcx) ; LINUX-64-PIC-NEXT: retq ; @@ -5573,23 +5636,23 @@ define void @big04(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: big04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _dptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -5603,7 +5666,7 @@ define void @big05(i64 %i) nounwind { ; 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 dptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -5632,9 +5695,9 @@ define void @big05(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: big05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movq (%rcx), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq @@ -5668,25 +5731,25 @@ define void @big05(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: big05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5728,9 +5791,9 @@ define void @big06(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: big06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rcx +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5760,25 +5823,25 @@ define void @big06(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: big06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rcx +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5795,7 +5858,7 @@ define void @big07(i64 %i) nounwind { ; 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, lptr(%rip) +; LINUX-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: big07: @@ -5819,9 +5882,9 @@ define void @big07(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: big07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; LINUX-64-PIC-NEXT: movq %rax, lptr(%rip) +; LINUX-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: big07: @@ -5850,23 +5913,23 @@ define void @big07(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: big07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-STATIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-STATIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: big07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-DYNAMIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-DYNAMIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: big07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax -; DARWIN-64-PIC-NEXT: movq %rax, _lptr(%rip) +; DARWIN-64-PIC-NEXT: movq %rax, {{.*}}(%rip) ; DARWIN-64-PIC-NEXT: retq entry: @@ -5880,7 +5943,7 @@ define void @big08(i64 %i) nounwind { ; 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 lptr(%rip), %rcx +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-STATIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-STATIC-NEXT: retq ; @@ -5907,9 +5970,9 @@ define void @big08(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: big08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rcx +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; LINUX-64-PIC-NEXT: retq ; @@ -5942,25 +6005,25 @@ define void @big08(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: big08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movl 262144(%rax,%rdi,4), %eax -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl %eax, 262144(%rcx,%rdi,4) ; DARWIN-64-PIC-NEXT: retq @@ -5977,7 +6040,7 @@ entry: define i8* @bar00() nounwind { ; LINUX-64-STATIC-LABEL: bar00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $src, %eax +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bar00: @@ -5997,7 +6060,7 @@ define i8* @bar00() nounwind { ; ; LINUX-64-PIC-LABEL: bar00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar00: @@ -6020,17 +6083,17 @@ define i8* @bar00() nounwind { ; ; DARWIN-64-STATIC-LABEL: bar00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6040,7 +6103,7 @@ entry: define i8* @bxr00() nounwind { ; LINUX-64-STATIC-LABEL: bxr00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $xsrc, %eax +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bxr00: @@ -6060,7 +6123,7 @@ define i8* @bxr00() nounwind { ; ; LINUX-64-PIC-LABEL: bxr00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bxr00: @@ -6083,17 +6146,17 @@ define i8* @bxr00() nounwind { ; ; DARWIN-64-STATIC-LABEL: bxr00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxr00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxr00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6103,7 +6166,7 @@ entry: define i8* @bar01() nounwind { ; LINUX-64-STATIC-LABEL: bar01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $dst, %eax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bar01: @@ -6123,7 +6186,7 @@ define i8* @bar01() nounwind { ; ; LINUX-64-PIC-LABEL: bar01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar01: @@ -6146,17 +6209,17 @@ define i8* @bar01() nounwind { ; ; DARWIN-64-STATIC-LABEL: bar01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6166,7 +6229,7 @@ entry: define i8* @bxr01() nounwind { ; LINUX-64-STATIC-LABEL: bxr01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $xdst, %eax +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bxr01: @@ -6186,7 +6249,7 @@ define i8* @bxr01() nounwind { ; ; LINUX-64-PIC-LABEL: bxr01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bxr01: @@ -6209,17 +6272,17 @@ define i8* @bxr01() nounwind { ; ; DARWIN-64-STATIC-LABEL: bxr01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bxr01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bxr01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6229,7 +6292,7 @@ entry: define i8* @bar02() nounwind { ; LINUX-64-STATIC-LABEL: bar02: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $ptr, %eax +; LINUX-64-STATIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bar02: @@ -6249,7 +6312,7 @@ define i8* @bar02() nounwind { ; ; LINUX-64-PIC-LABEL: bar02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar02: @@ -6272,17 +6335,17 @@ define i8* @bar02() nounwind { ; ; DARWIN-64-STATIC-LABEL: bar02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar02: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar02: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6312,7 +6375,7 @@ define i8* @bar03() nounwind { ; ; LINUX-64-PIC-LABEL: bar03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar03: @@ -6335,17 +6398,17 @@ define i8* @bar03() nounwind { ; ; DARWIN-64-STATIC-LABEL: bar03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6375,7 +6438,7 @@ define i8* @bar04() nounwind { ; ; LINUX-64-PIC-LABEL: bar04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar04: @@ -6398,17 +6461,17 @@ define i8* @bar04() nounwind { ; ; DARWIN-64-STATIC-LABEL: bar04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6438,7 +6501,7 @@ define i8* @bar05() nounwind { ; ; LINUX-64-PIC-LABEL: bar05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar05: @@ -6461,17 +6524,17 @@ define i8* @bar05() nounwind { ; ; DARWIN-64-STATIC-LABEL: bar05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6501,7 +6564,7 @@ define i8* @bar06() nounwind { ; ; LINUX-64-PIC-LABEL: bar06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar06: @@ -6524,17 +6587,17 @@ define i8* @bar06() nounwind { ; ; DARWIN-64-STATIC-LABEL: bar06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6564,7 +6627,7 @@ define i8* @bar07() nounwind { ; ; LINUX-64-PIC-LABEL: bar07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar07: @@ -6587,17 +6650,17 @@ define i8* @bar07() nounwind { ; ; DARWIN-64-STATIC-LABEL: bar07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6627,7 +6690,7 @@ define i8* @bar08() nounwind { ; ; LINUX-64-PIC-LABEL: bar08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bar08: @@ -6650,17 +6713,17 @@ define i8* @bar08() nounwind { ; ; DARWIN-64-STATIC-LABEL: bar08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bar08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bar08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6670,7 +6733,7 @@ entry: define i8* @har00() nounwind { ; LINUX-64-STATIC-LABEL: har00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $src, %eax +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har00: @@ -6690,7 +6753,7 @@ define i8* @har00() nounwind { ; ; LINUX-64-PIC-LABEL: har00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har00: @@ -6713,17 +6776,17 @@ define i8* @har00() nounwind { ; ; DARWIN-64-STATIC-LABEL: har00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6733,7 +6796,7 @@ entry: define i8* @hxr00() nounwind { ; LINUX-64-STATIC-LABEL: hxr00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $xsrc, %eax +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: hxr00: @@ -6753,7 +6816,7 @@ define i8* @hxr00() nounwind { ; ; LINUX-64-PIC-LABEL: hxr00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: hxr00: @@ -6776,17 +6839,17 @@ define i8* @hxr00() nounwind { ; ; DARWIN-64-STATIC-LABEL: hxr00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: hxr00: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: hxr00: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6796,7 +6859,7 @@ entry: define i8* @har01() nounwind { ; LINUX-64-STATIC-LABEL: har01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $dst, %eax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har01: @@ -6816,7 +6879,7 @@ define i8* @har01() nounwind { ; ; LINUX-64-PIC-LABEL: har01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har01: @@ -6839,17 +6902,17 @@ define i8* @har01() nounwind { ; ; DARWIN-64-STATIC-LABEL: har01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6859,7 +6922,7 @@ entry: define i8* @hxr01() nounwind { ; LINUX-64-STATIC-LABEL: hxr01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $xdst, %eax +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: hxr01: @@ -6879,7 +6942,7 @@ define i8* @hxr01() nounwind { ; ; LINUX-64-PIC-LABEL: hxr01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: hxr01: @@ -6902,17 +6965,17 @@ define i8* @hxr01() nounwind { ; ; DARWIN-64-STATIC-LABEL: hxr01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: hxr01: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: hxr01: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -6922,7 +6985,8 @@ entry: define 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@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq (%rax), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har02: @@ -6943,7 +7007,7 @@ define i8* @har02() nounwind { ; ; LINUX-64-PIC-LABEL: har02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -6969,19 +7033,19 @@ define i8* @har02() nounwind { ; ; DARWIN-64-STATIC-LABEL: har02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: retq @@ -7014,7 +7078,7 @@ define i8* @har03() nounwind { ; ; LINUX-64-PIC-LABEL: har03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har03: @@ -7037,17 +7101,17 @@ define i8* @har03() nounwind { ; ; DARWIN-64-STATIC-LABEL: har03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7077,7 +7141,7 @@ define i8* @har04() nounwind { ; ; LINUX-64-PIC-LABEL: har04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har04: @@ -7100,17 +7164,17 @@ define i8* @har04() nounwind { ; ; DARWIN-64-STATIC-LABEL: har04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7120,7 +7184,7 @@ entry: define i8* @har05() nounwind { ; LINUX-64-STATIC-LABEL: har05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har05: @@ -7141,7 +7205,7 @@ define i8* @har05() nounwind { ; ; LINUX-64-PIC-LABEL: har05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7165,17 +7229,17 @@ define i8* @har05() nounwind { ; ; DARWIN-64-STATIC-LABEL: har05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har05: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har05: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7207,7 +7271,7 @@ define i8* @har06() nounwind { ; ; LINUX-64-PIC-LABEL: har06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har06: @@ -7230,17 +7294,17 @@ define i8* @har06() nounwind { ; ; DARWIN-64-STATIC-LABEL: har06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7270,7 +7334,7 @@ define i8* @har07() nounwind { ; ; LINUX-64-PIC-LABEL: har07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har07: @@ -7293,17 +7357,17 @@ define i8* @har07() nounwind { ; ; DARWIN-64-STATIC-LABEL: har07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7313,7 +7377,7 @@ entry: define i8* @har08() nounwind { ; LINUX-64-STATIC-LABEL: har08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: har08: @@ -7333,7 +7397,7 @@ define i8* @har08() nounwind { ; ; LINUX-64-PIC-LABEL: har08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: har08: @@ -7356,17 +7420,17 @@ define i8* @har08() nounwind { ; ; DARWIN-64-STATIC-LABEL: har08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: har08: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: har08: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7378,7 +7442,8 @@ entry: define i8* @bat00() nounwind { ; LINUX-64-STATIC-LABEL: bat00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $src+64, %eax +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bat00: @@ -7399,7 +7464,7 @@ define i8* @bat00() nounwind { ; ; LINUX-64-PIC-LABEL: bat00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7425,19 +7490,19 @@ define i8* @bat00() nounwind { ; ; DARWIN-64-STATIC-LABEL: bat00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7448,7 +7513,8 @@ entry: define i8* @bxt00() nounwind { ; LINUX-64-STATIC-LABEL: bxt00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $xsrc+64, %eax +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bxt00: @@ -7469,7 +7535,7 @@ define i8* @bxt00() nounwind { ; ; LINUX-64-PIC-LABEL: bxt00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7495,19 +7561,19 @@ define i8* @bxt00() nounwind { ; ; DARWIN-64-STATIC-LABEL: bxt00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7518,7 +7584,8 @@ entry: define i8* @bat01() nounwind { ; LINUX-64-STATIC-LABEL: bat01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $dst+64, %eax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bat01: @@ -7539,7 +7606,7 @@ define i8* @bat01() nounwind { ; ; LINUX-64-PIC-LABEL: bat01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7565,19 +7632,19 @@ define i8* @bat01() nounwind { ; ; DARWIN-64-STATIC-LABEL: bat01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7588,7 +7655,8 @@ entry: define i8* @bxt01() nounwind { ; LINUX-64-STATIC-LABEL: bxt01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $xdst+64, %eax +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bxt01: @@ -7609,7 +7677,7 @@ define i8* @bxt01() nounwind { ; ; LINUX-64-PIC-LABEL: bxt01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7635,19 +7703,19 @@ define i8* @bxt01() nounwind { ; ; DARWIN-64-STATIC-LABEL: bxt01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7658,7 +7726,8 @@ entry: define 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@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq (%rax), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -7682,7 +7751,7 @@ define i8* @bat02() nounwind { ; ; LINUX-64-PIC-LABEL: bat02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq @@ -7712,21 +7781,21 @@ define i8* @bat02() nounwind { ; ; DARWIN-64-STATIC-LABEL: bat02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7762,7 +7831,7 @@ define i8* @bat03() nounwind { ; ; LINUX-64-PIC-LABEL: bat03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7786,17 +7855,17 @@ define i8* @bat03() nounwind { ; ; DARWIN-64-STATIC-LABEL: bat03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc+64(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+64(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc+64(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7827,7 +7896,7 @@ define i8* @bat04() nounwind { ; ; LINUX-64-PIC-LABEL: bat04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -7851,17 +7920,17 @@ define i8* @bat04() nounwind { ; ; DARWIN-64-STATIC-LABEL: bat04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+64(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+64(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+64(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -7871,7 +7940,7 @@ entry: define i8* @bat05() nounwind { ; LINUX-64-STATIC-LABEL: bat05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -7895,7 +7964,7 @@ define i8* @bat05() nounwind { ; ; LINUX-64-PIC-LABEL: bat05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq @@ -7923,19 +7992,19 @@ define i8* @bat05() nounwind { ; ; DARWIN-64-STATIC-LABEL: bat05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -7969,7 +8038,7 @@ define i8* @bat06() nounwind { ; ; LINUX-64-PIC-LABEL: bat06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc+64(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc+{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bat06: @@ -7992,17 +8061,17 @@ define i8* @bat06() nounwind { ; ; DARWIN-64-STATIC-LABEL: bat06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc+64(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+64(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc+64(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8032,7 +8101,7 @@ define i8* @bat07() nounwind { ; ; LINUX-64-PIC-LABEL: bat07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+64(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bat07: @@ -8055,17 +8124,17 @@ define i8* @bat07() nounwind { ; ; DARWIN-64-STATIC-LABEL: bat07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+64(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bat07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+64(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bat07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+64(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8075,7 +8144,7 @@ entry: define i8* @bat08() nounwind { ; LINUX-64-STATIC-LABEL: bat08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: addq $64, %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -8098,7 +8167,7 @@ define i8* @bat08() nounwind { ; ; LINUX-64-PIC-LABEL: bat08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: addq $64, %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8125,19 +8194,19 @@ define i8* @bat08() nounwind { ; ; DARWIN-64-STATIC-LABEL: bat08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: addq $64, %rax ; DARWIN-64-PIC-NEXT: retq @@ -8151,7 +8220,8 @@ entry: define i8* @bam00() nounwind { ; LINUX-64-STATIC-LABEL: bam00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $src+262144, %eax +; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 +; LINUX-64-STATIC-NEXT: addq src@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam00: @@ -8173,7 +8243,7 @@ define i8* @bam00() nounwind { ; 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@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam00: @@ -8199,19 +8269,19 @@ define i8* @bam00() nounwind { ; 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@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _src@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _src@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8221,7 +8291,8 @@ entry: define i8* @bam01() nounwind { ; LINUX-64-STATIC-LABEL: bam01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $dst+262144, %eax +; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 +; LINUX-64-STATIC-NEXT: addq dst@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam01: @@ -8243,7 +8314,7 @@ define i8* @bam01() nounwind { ; 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@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam01: @@ -8269,19 +8340,19 @@ define i8* @bam01() nounwind { ; 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@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8291,7 +8362,8 @@ entry: define i8* @bxm01() nounwind { ; LINUX-64-STATIC-LABEL: bxm01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movl $xdst+262144, %eax +; LINUX-64-STATIC-NEXT: movl $262144, %eax # imm = 0x40000 +; LINUX-64-STATIC-NEXT: addq xdst@{{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bxm01: @@ -8313,7 +8385,7 @@ define i8* @bxm01() nounwind { ; 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@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bxm01: @@ -8339,19 +8411,19 @@ define i8* @bxm01() nounwind { ; 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@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: addq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8361,8 +8433,9 @@ entry: define 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: movl $262144, %eax # imm = 0x40000 -; LINUX-64-STATIC-NEXT: addq ptr(%rip), %rax +; LINUX-64-STATIC-NEXT: addq (%rcx), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam02: @@ -8385,7 +8458,7 @@ define i8* @bam02() nounwind { ; ; LINUX-64-PIC-LABEL: bam02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 ; LINUX-64-PIC-NEXT: addq (%rcx), %rax ; LINUX-64-PIC-NEXT: retq @@ -8415,21 +8488,21 @@ define i8* @bam02() nounwind { ; ; DARWIN-64-STATIC-LABEL: bam02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rcx +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rcx +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rcx +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rcx ; DARWIN-64-PIC-NEXT: movl $262144, %eax ## imm = 0x40000 ; DARWIN-64-PIC-NEXT: addq (%rcx), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8466,7 +8539,7 @@ define i8* @bam03() nounwind { ; LINUX-64-PIC-LABEL: bam03: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam03: @@ -8489,17 +8562,17 @@ define i8* @bam03() nounwind { ; ; DARWIN-64-STATIC-LABEL: bam03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc+262144(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam03: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+262144(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam03: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dsrc+262144(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _dsrc+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8531,7 +8604,7 @@ define i8* @bam04() nounwind { ; LINUX-64-PIC-LABEL: bam04: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 -; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: addq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam04: @@ -8554,17 +8627,17 @@ define i8* @bam04() nounwind { ; ; DARWIN-64-STATIC-LABEL: bam04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst+262144(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam04: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+262144(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam04: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ddst+262144(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ddst+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8575,7 +8648,7 @@ define i8* @bam05() nounwind { ; 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 dptr(%rip), %rax +; LINUX-64-STATIC-NEXT: addq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam05: @@ -8598,7 +8671,7 @@ define i8* @bam05() nounwind { ; ; LINUX-64-PIC-LABEL: bam05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rcx +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rcx ; LINUX-64-PIC-NEXT: movl $262144, %eax # imm = 0x40000 ; LINUX-64-PIC-NEXT: addq (%rcx), %rax ; LINUX-64-PIC-NEXT: retq @@ -8627,19 +8700,19 @@ define i8* @bam05() nounwind { ; 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 _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq {{.*}}(%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 _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq {{.*}}(%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 _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: addq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8672,7 +8745,7 @@ define i8* @bam06() nounwind { ; ; LINUX-64-PIC-LABEL: bam06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc+262144(%rip), %rax +; LINUX-64-PIC-NEXT: leaq lsrc+{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam06: @@ -8695,17 +8768,17 @@ define i8* @bam06() nounwind { ; ; DARWIN-64-STATIC-LABEL: bam06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc+262144(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam06: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+262144(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam06: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lsrc+262144(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _lsrc+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8735,7 +8808,7 @@ define i8* @bam07() nounwind { ; ; LINUX-64-PIC-LABEL: bam07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst+262144(%rip), %rax +; LINUX-64-PIC-NEXT: leaq ldst+{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam07: @@ -8758,17 +8831,17 @@ define i8* @bam07() nounwind { ; ; DARWIN-64-STATIC-LABEL: bam07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst+262144(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: bam07: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+262144(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: bam07: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _ldst+262144(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq _ldst+{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8779,7 +8852,7 @@ define i8* @bam08() nounwind { ; 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 lptr(%rip), %rax +; LINUX-64-STATIC-NEXT: addq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: bam08: @@ -8802,7 +8875,7 @@ define i8* @bam08() nounwind { ; 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 lptr(%rip), %rax +; LINUX-64-PIC-NEXT: addq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: bam08: @@ -8829,19 +8902,19 @@ define i8* @bam08() nounwind { ; 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 _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: addq {{.*}}(%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 _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: addq {{.*}}(%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 _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: addq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -8854,7 +8927,8 @@ entry: define i8* @cat00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq src+64(,%rdi,4), %rax +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: cat00: @@ -8877,7 +8951,7 @@ define i8* @cat00(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cat00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8906,19 +8980,19 @@ define i8* @cat00(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cat00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -8932,7 +9006,8 @@ entry: define i8* @cxt00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cxt00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq xsrc+64(,%rdi,4), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: cxt00: @@ -8955,7 +9030,7 @@ define i8* @cxt00(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cxt00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -8984,19 +9059,19 @@ define i8* @cxt00(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cxt00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9010,7 +9085,8 @@ entry: define i8* @cat01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq dst+64(,%rdi,4), %rax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: cat01: @@ -9033,7 +9109,7 @@ define i8* @cat01(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cat01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9062,19 +9138,19 @@ define i8* @cat01(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cat01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9088,7 +9164,8 @@ entry: define i8* @cxt01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cxt01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq xdst+64(,%rdi,4), %rax +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: cxt01: @@ -9111,7 +9188,7 @@ define i8* @cxt01(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cxt01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9140,19 +9217,19 @@ define i8* @cxt01(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cxt01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9166,7 +9243,8 @@ entry: define 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@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq (%rax), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9192,7 +9270,7 @@ define i8* @cat02(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cat02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq @@ -9225,21 +9303,21 @@ define i8* @cat02(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cat02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9278,7 +9356,7 @@ define i8* @cat03(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cat03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9305,19 +9383,19 @@ define i8* @cat03(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cat03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9354,7 +9432,7 @@ define i8* @cat04(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cat04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9381,19 +9459,19 @@ define i8* @cat04(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cat04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9407,7 +9485,7 @@ entry: define i8* @cat05(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9433,7 +9511,7 @@ define i8* @cat05(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cat05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq @@ -9464,19 +9542,19 @@ define i8* @cat05(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cat05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9513,7 +9591,7 @@ define i8* @cat06(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cat06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9540,19 +9618,19 @@ define i8* @cat06(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cat06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9588,7 +9666,7 @@ define i8* @cat07(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cat07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9615,19 +9693,19 @@ define i8* @cat07(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cat07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9641,7 +9719,7 @@ entry: define i8* @cat08(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cat08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -9666,7 +9744,7 @@ define i8* @cat08(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cat08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9696,19 +9774,19 @@ define i8* @cat08(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cat08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 64(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9723,7 +9801,8 @@ entry: define i8* @cam00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq src+262144(,%rdi,4), %rax +; LINUX-64-STATIC-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: cam00: @@ -9746,7 +9825,7 @@ define i8* @cam00(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cam00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq src@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq src@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9775,19 +9854,19 @@ define i8* @cam00(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cam00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _src@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _src@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _src@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _src@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9801,7 +9880,8 @@ entry: define i8* @cxm00(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cxm00: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq xsrc+262144(,%rdi,4), %rax +; LINUX-64-STATIC-NEXT: movq xsrc@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: cxm00: @@ -9824,7 +9904,7 @@ define i8* @cxm00(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cxm00: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9853,19 +9933,19 @@ define i8* @cxm00(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cxm00: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xsrc@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xsrc@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xsrc@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xsrc@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9879,7 +9959,8 @@ entry: define i8* @cam01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq dst+262144(,%rdi,4), %rax +; LINUX-64-STATIC-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: cam01: @@ -9902,7 +9983,7 @@ define i8* @cam01(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cam01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -9931,19 +10012,19 @@ define i8* @cam01(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cam01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _dst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _dst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -9957,7 +10038,8 @@ entry: define i8* @cxm01(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cxm01: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: leaq xdst+262144(,%rdi,4), %rax +; LINUX-64-STATIC-NEXT: movq xdst@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: cxm01: @@ -9980,7 +10062,7 @@ define i8* @cxm01(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cxm01: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq xdst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10009,19 +10091,19 @@ define i8* @cxm01(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cxm01: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _xdst@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _xdst@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10035,7 +10117,8 @@ entry: define 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@{{.*}}(%rip), %rax +; LINUX-64-STATIC-NEXT: movq (%rax), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -10061,7 +10144,7 @@ define i8* @cam02(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cam02: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq @@ -10094,21 +10177,21 @@ define i8* @cam02(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cam02: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _ptr@{{.*}}(%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@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _ptr@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: movq (%rax), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10147,7 +10230,7 @@ define i8* @cam03(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cam03: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dsrc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dsrc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10174,19 +10257,19 @@ define i8* @cam03(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cam03: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _dsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10223,7 +10306,7 @@ define i8* @cam04(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cam04: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq ddst@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10250,19 +10333,19 @@ define i8* @cam04(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cam04: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _ddst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _ddst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10276,7 +10359,7 @@ entry: define i8* @cam05(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam05: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq dptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -10302,7 +10385,7 @@ define i8* @cam05(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cam05: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq dptr@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: movq (%rax), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq @@ -10333,19 +10416,19 @@ define i8* @cam05(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cam05: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _dptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _dptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10382,7 +10465,7 @@ define i8* @cam06(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cam06: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq lsrc(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10409,19 +10492,19 @@ define i8* @cam06(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cam06: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lsrc(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _lsrc(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10457,7 +10540,7 @@ define i8* @cam07(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cam07: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq ldst(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10484,19 +10567,19 @@ define i8* @cam07(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cam07: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%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 _ldst(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%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 _ldst(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10510,7 +10593,7 @@ entry: define i8* @cam08(i64 %i) nounwind { ; LINUX-64-STATIC-LABEL: cam08: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-STATIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-STATIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -10535,7 +10618,7 @@ define i8* @cam08(i64 %i) nounwind { ; ; LINUX-64-PIC-LABEL: cam08: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq lptr(%rip), %rax +; LINUX-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; LINUX-64-PIC-NEXT: retq ; @@ -10565,19 +10648,19 @@ define i8* @cam08(i64 %i) nounwind { ; ; DARWIN-64-STATIC-LABEL: cam08: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq {{.*}}(%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 _lptr(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq {{.*}}(%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 _lptr(%rip), %rax +; DARWIN-64-PIC-NEXT: movq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: leaq 262144(%rax,%rdi,4), %rax ; DARWIN-64-PIC-NEXT: retq @@ -10914,7 +10997,7 @@ define void ()* @address() nounwind { ; ; LINUX-64-PIC-LABEL: address: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq callee@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq callee@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: address: @@ -10937,17 +11020,17 @@ define void ()* @address() nounwind { ; ; DARWIN-64-STATIC-LABEL: address: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: movq _callee@GOTPCREL(%rip), %rax +; DARWIN-64-STATIC-NEXT: movq _callee@{{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: address: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: movq _callee@GOTPCREL(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: movq _callee@{{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: address: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: movq _callee@GOTPCREL(%rip), %rax +; DARWIN-64-PIC-NEXT: movq _callee@{{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -10979,7 +11062,7 @@ define void ()* @laddress() nounwind { ; ; LINUX-64-PIC-LABEL: laddress: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: movq lcallee@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq lcallee@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: laddress: @@ -11002,17 +11085,17 @@ define void ()* @laddress() nounwind { ; ; DARWIN-64-STATIC-LABEL: laddress: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _lcallee(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: laddress: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _lcallee(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: laddress: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _lcallee(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -11042,7 +11125,7 @@ define void ()* @daddress() nounwind { ; ; LINUX-64-PIC-LABEL: daddress: ; LINUX-64-PIC: # %bb.0: # %entry -; LINUX-64-PIC-NEXT: leaq dcallee(%rip), %rax +; LINUX-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: retq ; ; DARWIN-32-STATIC-LABEL: daddress: @@ -11065,17 +11148,17 @@ define void ()* @daddress() nounwind { ; ; DARWIN-64-STATIC-LABEL: daddress: ; DARWIN-64-STATIC: ## %bb.0: ## %entry -; DARWIN-64-STATIC-NEXT: leaq _dcallee(%rip), %rax +; DARWIN-64-STATIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-STATIC-NEXT: retq ; ; DARWIN-64-DYNAMIC-LABEL: daddress: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry -; DARWIN-64-DYNAMIC-NEXT: leaq _dcallee(%rip), %rax +; DARWIN-64-DYNAMIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-DYNAMIC-NEXT: retq ; ; DARWIN-64-PIC-LABEL: daddress: ; DARWIN-64-PIC: ## %bb.0: ## %entry -; DARWIN-64-PIC-NEXT: leaq _dcallee(%rip), %rax +; DARWIN-64-PIC-NEXT: leaq {{.*}}(%rip), %rax ; DARWIN-64-PIC-NEXT: retq entry: @@ -11616,10 +11699,11 @@ entry: define void @icaller() nounwind { ; LINUX-64-STATIC-LABEL: icaller: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *ifunc(%rip) -; LINUX-64-STATIC-NEXT: callq *ifunc(%rip) -; LINUX-64-STATIC-NEXT: popq %rax +; LINUX-64-STATIC-NEXT: pushq %rbx +; LINUX-64-STATIC-NEXT: movq ifunc@{{.*}}(%rip), %rbx +; LINUX-64-STATIC-NEXT: callq *(%rbx) +; LINUX-64-STATIC-NEXT: callq *(%rbx) +; LINUX-64-STATIC-NEXT: popq %rbx ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: icaller: @@ -11651,7 +11735,7 @@ define void @icaller() nounwind { ; LINUX-64-PIC-LABEL: icaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rbx -; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx +; LINUX-64-PIC-NEXT: movq ifunc@{{.*}}(%rip), %rbx ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: popq %rbx @@ -11693,7 +11777,7 @@ define void @icaller() nounwind { ; DARWIN-64-STATIC-LABEL: icaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rbx -; DARWIN-64-STATIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-STATIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: popq %rbx @@ -11702,7 +11786,7 @@ define void @icaller() nounwind { ; DARWIN-64-DYNAMIC-LABEL: icaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rbx -; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: popq %rbx @@ -11711,7 +11795,7 @@ define void @icaller() nounwind { ; DARWIN-64-PIC-LABEL: icaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rbx -; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-PIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: popq %rbx @@ -11729,8 +11813,8 @@ define void @dicaller() nounwind { ; LINUX-64-STATIC-LABEL: dicaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *difunc(%rip) -; LINUX-64-STATIC-NEXT: callq *difunc(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -11763,7 +11847,7 @@ define void @dicaller() nounwind { ; LINUX-64-PIC-LABEL: dicaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rbx -; LINUX-64-PIC-NEXT: movq difunc@GOTPCREL(%rip), %rbx +; LINUX-64-PIC-NEXT: movq difunc@{{.*}}(%rip), %rbx ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: popq %rbx @@ -11801,24 +11885,24 @@ define void @dicaller() nounwind { ; DARWIN-64-STATIC-LABEL: dicaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) -; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%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 *_difunc(%rip) -; DARWIN-64-DYNAMIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%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 *_difunc(%rip) -; DARWIN-64-PIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq @@ -11834,8 +11918,8 @@ define void @licaller() nounwind { ; LINUX-64-STATIC-LABEL: licaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *lifunc(%rip) -; LINUX-64-STATIC-NEXT: callq *lifunc(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -11865,8 +11949,8 @@ define void @licaller() nounwind { ; LINUX-64-PIC-LABEL: licaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rax -; LINUX-64-PIC-NEXT: callq *lifunc(%rip) -; LINUX-64-PIC-NEXT: callq *lifunc(%rip) +; LINUX-64-PIC-NEXT: callq *{{.*}}(%rip) +; LINUX-64-PIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-PIC-NEXT: popq %rax ; LINUX-64-PIC-NEXT: retq ; @@ -11902,24 +11986,24 @@ define void @licaller() nounwind { ; DARWIN-64-STATIC-LABEL: licaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) -; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%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 *_lifunc(%rip) -; DARWIN-64-DYNAMIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%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 *_lifunc(%rip) -; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq @@ -11934,10 +12018,11 @@ entry: define void @itailcaller() nounwind { ; LINUX-64-STATIC-LABEL: itailcaller: ; LINUX-64-STATIC: # %bb.0: # %entry -; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *ifunc(%rip) -; LINUX-64-STATIC-NEXT: callq *ifunc(%rip) -; LINUX-64-STATIC-NEXT: popq %rax +; LINUX-64-STATIC-NEXT: pushq %rbx +; LINUX-64-STATIC-NEXT: movq ifunc@{{.*}}(%rip), %rbx +; LINUX-64-STATIC-NEXT: callq *(%rbx) +; LINUX-64-STATIC-NEXT: callq *(%rbx) +; LINUX-64-STATIC-NEXT: popq %rbx ; LINUX-64-STATIC-NEXT: retq ; ; LINUX-32-STATIC-LABEL: itailcaller: @@ -11969,7 +12054,7 @@ define void @itailcaller() nounwind { ; LINUX-64-PIC-LABEL: itailcaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rbx -; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), %rbx +; LINUX-64-PIC-NEXT: movq ifunc@{{.*}}(%rip), %rbx ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: callq *(%rbx) ; LINUX-64-PIC-NEXT: popq %rbx @@ -12011,7 +12096,7 @@ define void @itailcaller() nounwind { ; DARWIN-64-STATIC-LABEL: itailcaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rbx -; DARWIN-64-STATIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-STATIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: callq *(%rbx) ; DARWIN-64-STATIC-NEXT: popq %rbx @@ -12020,7 +12105,7 @@ define void @itailcaller() nounwind { ; DARWIN-64-DYNAMIC-LABEL: itailcaller: ; DARWIN-64-DYNAMIC: ## %bb.0: ## %entry ; DARWIN-64-DYNAMIC-NEXT: pushq %rbx -; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: callq *(%rbx) ; DARWIN-64-DYNAMIC-NEXT: popq %rbx @@ -12029,7 +12114,7 @@ define void @itailcaller() nounwind { ; DARWIN-64-PIC-LABEL: itailcaller: ; DARWIN-64-PIC: ## %bb.0: ## %entry ; DARWIN-64-PIC-NEXT: pushq %rbx -; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), %rbx +; DARWIN-64-PIC-NEXT: movq _ifunc@{{.*}}(%rip), %rbx ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: callq *(%rbx) ; DARWIN-64-PIC-NEXT: popq %rbx @@ -12047,7 +12132,7 @@ define void @ditailcaller() nounwind { ; LINUX-64-STATIC-LABEL: ditailcaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *difunc(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -12076,7 +12161,7 @@ define void @ditailcaller() nounwind { ; LINUX-64-PIC-LABEL: ditailcaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rax -; LINUX-64-PIC-NEXT: movq difunc@GOTPCREL(%rip), %rax +; LINUX-64-PIC-NEXT: movq difunc@{{.*}}(%rip), %rax ; LINUX-64-PIC-NEXT: callq *(%rax) ; LINUX-64-PIC-NEXT: popq %rax ; LINUX-64-PIC-NEXT: retq @@ -12108,21 +12193,21 @@ define void @ditailcaller() nounwind { ; DARWIN-64-STATIC-LABEL: ditailcaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%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 *_difunc(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%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 *_difunc(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq @@ -12136,7 +12221,7 @@ define void @litailcaller() nounwind { ; LINUX-64-STATIC-LABEL: litailcaller: ; LINUX-64-STATIC: # %bb.0: # %entry ; LINUX-64-STATIC-NEXT: pushq %rax -; LINUX-64-STATIC-NEXT: callq *lifunc(%rip) +; LINUX-64-STATIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-STATIC-NEXT: popq %rax ; LINUX-64-STATIC-NEXT: retq ; @@ -12164,7 +12249,7 @@ define void @litailcaller() nounwind { ; LINUX-64-PIC-LABEL: litailcaller: ; LINUX-64-PIC: # %bb.0: # %entry ; LINUX-64-PIC-NEXT: pushq %rax -; LINUX-64-PIC-NEXT: callq *lifunc(%rip) +; LINUX-64-PIC-NEXT: callq *{{.*}}(%rip) ; LINUX-64-PIC-NEXT: popq %rax ; LINUX-64-PIC-NEXT: retq ; @@ -12195,21 +12280,21 @@ define void @litailcaller() nounwind { ; DARWIN-64-STATIC-LABEL: litailcaller: ; DARWIN-64-STATIC: ## %bb.0: ## %entry ; DARWIN-64-STATIC-NEXT: pushq %rax -; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) +; DARWIN-64-STATIC-NEXT: callq *{{.*}}(%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 *_lifunc(%rip) +; DARWIN-64-DYNAMIC-NEXT: callq *{{.*}}(%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 *_lifunc(%rip) +; DARWIN-64-PIC-NEXT: callq *{{.*}}(%rip) ; DARWIN-64-PIC-NEXT: popq %rax ; DARWIN-64-PIC-NEXT: retq diff --git a/llvm/test/CodeGen/X86/br-fold.ll b/llvm/test/CodeGen/X86/br-fold.ll index 11f5f720a43167..f9fe4cc154acdc 100644 --- a/llvm/test/CodeGen/X86/br-fold.ll +++ b/llvm/test/CodeGen/X86/br-fold.ll @@ -7,7 +7,7 @@ ; X64_DARWIN: orq ; X64_DARWIN-NEXT: ud2 -; X64_LINUX: orq $_ZN11xercesc_2_56XMLUni16fgNotationStringE, %rax +; X64_LINUX: orq _ZN11xercesc_2_56XMLUni16fgNotationStringE@GOTPCREL(%rip), %rax ; X64_LINUX-NEXT: jne ; X64_LINUX-NEXT: %bb8.i329 @@ -18,7 +18,7 @@ ; X64_WINDOWS_GNU: orq .refptr._ZN11xercesc_2_56XMLUni16fgNotationStringE(%rip), %rax ; X64_WINDOWS_GNU-NEXT: jne -; PS4: orq $_ZN11xercesc_2_56XMLUni16fgNotationStringE, %rax +; PS4: orq _ZN11xercesc_2_56XMLUni16fgNotationStringE@GOTPCREL(%rip), %rax ; PS4-NEXT: ud2 @_ZN11xercesc_2_513SchemaSymbols21fgURI_SCHEMAFORSCHEMAE = external constant [33 x i16], align 32 ; <[33 x i16]*> [#uses=1] diff --git a/llvm/test/CodeGen/X86/code-model-elf.ll b/llvm/test/CodeGen/X86/code-model-elf.ll index 82d0d1ef591310..2286348e794e9c 100644 --- a/llvm/test/CodeGen/X86/code-model-elf.ll +++ b/llvm/test/CodeGen/X86/code-model-elf.ll @@ -58,12 +58,12 @@ define dso_local i32* @lea_static_data() #0 { ; ; SMALL-PIC-LABEL: lea_static_data: ; SMALL-PIC: # %bb.0: -; SMALL-PIC-NEXT: leaq static_data(%rip), %rax +; SMALL-PIC-NEXT: leaq {{.*}}(%rip), %rax ; SMALL-PIC-NEXT: retq ; ; MEDIUM-PIC-LABEL: lea_static_data: ; MEDIUM-PIC: # %bb.0: -; MEDIUM-PIC-NEXT: leaq _GLOBAL_OFFSET_TABLE_(%rip), %rcx +; MEDIUM-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; MEDIUM-PIC-NEXT: movabsq $static_data@GOTOFF, %rax ; MEDIUM-PIC-NEXT: addq %rcx, %rax ; MEDIUM-PIC-NEXT: retq @@ -71,7 +71,7 @@ define dso_local i32* @lea_static_data() #0 { ; LARGE-PIC-LABEL: lea_static_data: ; LARGE-PIC: # %bb.0: ; LARGE-PIC-NEXT: .L0$pb: -; LARGE-PIC-NEXT: leaq .L0$pb(%rip), %rax +; LARGE-PIC-NEXT: leaq .L0${{.*}}(%rip), %rax ; LARGE-PIC-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L0$pb, %rcx ; LARGE-PIC-NEXT: addq %rax, %rcx ; LARGE-PIC-NEXT: movabsq $static_data@GOTOFF, %rax @@ -98,12 +98,12 @@ define dso_local i32* @lea_global_data() #0 { ; ; SMALL-PIC-LABEL: lea_global_data: ; SMALL-PIC: # %bb.0: -; SMALL-PIC-NEXT: leaq global_data(%rip), %rax +; SMALL-PIC-NEXT: leaq {{.*}}(%rip), %rax ; SMALL-PIC-NEXT: retq ; ; MEDIUM-PIC-LABEL: lea_global_data: ; MEDIUM-PIC: # %bb.0: -; MEDIUM-PIC-NEXT: leaq _GLOBAL_OFFSET_TABLE_(%rip), %rcx +; MEDIUM-PIC-NEXT: leaq {{.*}}(%rip), %rcx ; MEDIUM-PIC-NEXT: movabsq $global_data@GOTOFF, %rax ; MEDIUM-PIC-NEXT: addq %rcx, %rax ; MEDIUM-PIC-NEXT: retq @@ -111,7 +111,7 @@ define dso_local i32* @lea_global_data() #0 { ; LARGE-PIC-LABEL: lea_global_data: ; LARGE-PIC: # %bb.0: ; LARGE-PIC-NEXT: .L1$pb: -; LARGE-PIC-NEXT: leaq .L1$pb(%rip), %rax +; LARGE-PIC-NEXT: leaq .L1${{.*}}(%rip), %rax ; LARGE-PIC-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L1$pb, %rcx ; LARGE-PIC-NEXT: addq %rax, %rcx ; LARGE-PIC-NEXT: movabsq $global_data@GOTOFF, %rax @@ -123,12 +123,12 @@ define dso_local i32* @lea_global_data() #0 { define dso_local i32* @lea_extern_data() #0 { ; SMALL-STATIC-LABEL: lea_extern_data: ; SMALL-STATIC: # %bb.0: -; SMALL-STATIC-NEXT: movl $extern_data, %eax +; SMALL-STATIC-NEXT: movq extern_data@{{.*}}(%rip), %rax ; SMALL-STATIC-NEXT: retq ; ; MEDIUM-STATIC-LABEL: lea_extern_data: ; MEDIUM-STATIC: # %bb.0: -; MEDIUM-STATIC-NEXT: movabsq $extern_data, %rax +; MEDIUM-STATIC-NEXT: movq extern_data@{{.*}}(%rip), %rax ; MEDIUM-STATIC-NEXT: retq ; ; LARGE-STATIC-LABEL: lea_extern_data: @@ -138,18 +138,18 @@ define dso_local i32* @lea_extern_data() #0 { ; ; SMALL-PIC-LABEL: lea_extern_data: ; SMALL-PIC: # %bb.0: -; SMALL-PIC-NEXT: movq extern_data@GOTPCREL(%rip), %rax +; SMALL-PIC-NEXT: movq extern_data@{{.*}}(%rip), %rax ; SMALL-PIC-NEXT: retq ; ; MEDIUM-PIC-LABEL: lea_extern_data: ; MEDIUM-PIC: # %bb.0: -; MEDIUM-PIC-NEXT: movq extern_data@GOTPCREL(%rip), %rax +; MEDIUM-PIC-NEXT: movq extern_data@{{.*}}(%rip), %rax ; MEDIUM-PIC-NEXT: retq ; ; LARGE-PIC-LABEL: lea_extern_data: ; LARGE-PIC: # %bb.0: ; LARGE-PIC-NEXT: .L2$pb: -; LARGE-PIC-NEXT: leaq .L2$pb(%rip), %rax +; LARGE-PIC-NEXT: leaq .L2${{.*}}(%rip), %rax ; LARGE-PIC-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L2$pb, %rcx ; LARGE-PIC-NEXT: addq %rax, %rcx ; LARGE-PIC-NEXT: movabsq $extern_data@GOT, %rax @@ -161,7 +161,7 @@ define dso_local i32* @lea_extern_data() #0 { define dso_local i32 @load_global_data() #0 { ; SMALL-STATIC-LABEL: load_global_data: ; SMALL-STATIC: # %bb.0: -; SMALL-STATIC-NEXT: movl global_data+8(%rip), %eax +; SMALL-STATIC-NEXT: movl global_data+{{.*}}(%rip), %eax ; SMALL-STATIC-NEXT: retq ; ; MEDIUM-STATIC-LABEL: load_global_data: @@ -178,12 +178,12 @@ define dso_local i32 @load_global_data() #0 { ; ; SMALL-PIC-LABEL: load_global_data: ; SMALL-PIC: # %bb.0: -; SMALL-PIC-NEXT: movl global_data+8(%rip), %eax +; SMALL-PIC-NEXT: movl global_data+{{.*}}(%rip), %eax ; SMALL-PIC-NEXT: retq ; ; MEDIUM-PIC-LABEL: load_global_data: ; MEDIUM-PIC: # %bb.0: -; MEDIUM-PIC-NEXT: leaq _GLOBAL_OFFSET_TABLE_(%rip), %rax +; MEDIUM-PIC-NEXT: leaq {{.*}}(%rip), %rax ; MEDIUM-PIC-NEXT: movabsq $global_data@GOTOFF, %rcx ; MEDIUM-PIC-NEXT: movl 8(%rax,%rcx), %eax ; MEDIUM-PIC-NEXT: retq @@ -191,7 +191,7 @@ define dso_local i32 @load_global_data() #0 { ; LARGE-PIC-LABEL: load_global_data: ; LARGE-PIC: # %bb.0: ; LARGE-PIC-NEXT: .L3$pb: -; LARGE-PIC-NEXT: leaq .L3$pb(%rip), %rax +; LARGE-PIC-NEXT: leaq .L3${{.*}}(%rip), %rax ; LARGE-PIC-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L3$pb, %rcx ; LARGE-PIC-NEXT: addq %rax, %rcx ; LARGE-PIC-NEXT: movabsq $global_data@GOTOFF, %rax @@ -204,12 +204,13 @@ define dso_local i32 @load_global_data() #0 { define dso_local i32 @load_extern_data() #0 { ; SMALL-STATIC-LABEL: load_extern_data: ; SMALL-STATIC: # %bb.0: -; SMALL-STATIC-NEXT: movl extern_data+8(%rip), %eax +; SMALL-STATIC-NEXT: movq extern_data@{{.*}}(%rip), %rax +; SMALL-STATIC-NEXT: movl 8(%rax), %eax ; SMALL-STATIC-NEXT: retq ; ; MEDIUM-STATIC-LABEL: load_extern_data: ; MEDIUM-STATIC: # %bb.0: -; MEDIUM-STATIC-NEXT: movabsq $extern_data, %rax +; MEDIUM-STATIC-NEXT: movq extern_data@{{.*}}(%rip), %rax ; MEDIUM-STATIC-NEXT: movl 8(%rax), %eax ; MEDIUM-STATIC-NEXT: retq ; @@ -221,20 +222,20 @@ define dso_local i32 @load_extern_data() #0 { ; ; SMALL-PIC-LABEL: load_extern_data: ; SMALL-PIC: # %bb.0: -; SMALL-PIC-NEXT: movq extern_data@GOTPCREL(%rip), %rax +; SMALL-PIC-NEXT: movq extern_data@{{.*}}(%rip), %rax ; SMALL-PIC-NEXT: movl 8(%rax), %eax ; SMALL-PIC-NEXT: retq ; ; MEDIUM-PIC-LABEL: load_extern_data: ; MEDIUM-PIC: # %bb.0: -; MEDIUM-PIC-NEXT: movq extern_data@GOTPCREL(%rip), %rax +; MEDIUM-PIC-NEXT: movq extern_data@{{.*}}(%rip), %rax ; MEDIUM-PIC-NEXT: movl 8(%rax), %eax ; MEDIUM-PIC-NEXT: retq ; ; LARGE-PIC-LABEL: load_extern_data: ; LARGE-PIC: # %bb.0: ; LARGE-PIC-NEXT: .L4$pb: -; LARGE-PIC-NEXT: leaq .L4$pb(%rip), %rax +; LARGE-PIC-NEXT: leaq .L4${{.*}}(%rip), %rax ; LARGE-PIC-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L4$pb, %rcx ; LARGE-PIC-NEXT: addq %rax, %rcx ; LARGE-PIC-NEXT: movabsq $extern_data@GOT, %rax @@ -279,7 +280,7 @@ define dso_local void ()* @lea_static_fn() #0 { ; ; SMALL-PIC-LABEL: lea_static_fn: ; SMALL-PIC: # %bb.0: -; SMALL-PIC-NEXT: leaq static_fn(%rip), %rax +; SMALL-PIC-NEXT: leaq {{.*}}(%rip), %rax ; SMALL-PIC-NEXT: retq ; ; MEDIUM-PIC-LABEL: lea_static_fn: @@ -290,7 +291,7 @@ define dso_local void ()* @lea_static_fn() #0 { ; LARGE-PIC-LABEL: lea_static_fn: ; LARGE-PIC: # %bb.0: ; LARGE-PIC-NEXT: .L7$pb: -; LARGE-PIC-NEXT: leaq .L7$pb(%rip), %rax +; LARGE-PIC-NEXT: leaq .L7${{.*}}(%rip), %rax ; LARGE-PIC-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L7$pb, %rcx ; LARGE-PIC-NEXT: addq %rax, %rcx ; LARGE-PIC-NEXT: movabsq $static_fn@GOTOFF, %rax @@ -317,7 +318,7 @@ define dso_local void ()* @lea_global_fn() #0 { ; ; SMALL-PIC-LABEL: lea_global_fn: ; SMALL-PIC: # %bb.0: -; SMALL-PIC-NEXT: leaq global_fn(%rip), %rax +; SMALL-PIC-NEXT: leaq {{.*}}(%rip), %rax ; SMALL-PIC-NEXT: retq ; ; MEDIUM-PIC-LABEL: lea_global_fn: @@ -328,7 +329,7 @@ define dso_local void ()* @lea_global_fn() #0 { ; LARGE-PIC-LABEL: lea_global_fn: ; LARGE-PIC: # %bb.0: ; LARGE-PIC-NEXT: .L8$pb: -; LARGE-PIC-NEXT: leaq .L8$pb(%rip), %rax +; LARGE-PIC-NEXT: leaq .L8${{.*}}(%rip), %rax ; LARGE-PIC-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L8$pb, %rcx ; LARGE-PIC-NEXT: addq %rax, %rcx ; LARGE-PIC-NEXT: movabsq $global_fn@GOTOFF, %rax @@ -355,18 +356,18 @@ define dso_local void ()* @lea_extern_fn() #0 { ; ; SMALL-PIC-LABEL: lea_extern_fn: ; SMALL-PIC: # %bb.0: -; SMALL-PIC-NEXT: movq extern_fn@GOTPCREL(%rip), %rax +; SMALL-PIC-NEXT: movq extern_fn@{{.*}}(%rip), %rax ; SMALL-PIC-NEXT: retq ; ; MEDIUM-PIC-LABEL: lea_extern_fn: ; MEDIUM-PIC: # %bb.0: -; MEDIUM-PIC-NEXT: movq extern_fn@GOTPCREL(%rip), %rax +; MEDIUM-PIC-NEXT: movq extern_fn@{{.*}}(%rip), %rax ; MEDIUM-PIC-NEXT: retq ; ; LARGE-PIC-LABEL: lea_extern_fn: ; LARGE-PIC: # %bb.0: ; LARGE-PIC-NEXT: .L9$pb: -; LARGE-PIC-NEXT: leaq .L9$pb(%rip), %rax +; LARGE-PIC-NEXT: leaq .L9${{.*}}(%rip), %rax ; LARGE-PIC-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L9$pb, %rcx ; LARGE-PIC-NEXT: addq %rax, %rcx ; LARGE-PIC-NEXT: movabsq $extern_fn@GOT, %rax @@ -399,42 +400,11 @@ define dso_local void ()* @lea_extern_fn() #0 { ; movl (%rax), %eax define dso_local i32 @load_thread_data() #0 { -; SMALL-STATIC-LABEL: load_thread_data: -; SMALL-STATIC: # %bb.0: -; SMALL-STATIC-NEXT: movq thread_data@GOTTPOFF(%rip), %rax -; SMALL-STATIC-NEXT: movl %fs:(%rax), %eax -; SMALL-STATIC-NEXT: retq -; -; MEDIUM-STATIC-LABEL: load_thread_data: -; MEDIUM-STATIC: # %bb.0: -; MEDIUM-STATIC-NEXT: movq thread_data@GOTTPOFF(%rip), %rax -; MEDIUM-STATIC-NEXT: movl %fs:(%rax), %eax -; MEDIUM-STATIC-NEXT: retq -; -; LARGE-STATIC-LABEL: load_thread_data: -; LARGE-STATIC: # %bb.0: -; LARGE-STATIC-NEXT: movq thread_data@GOTTPOFF(%rip), %rax -; LARGE-STATIC-NEXT: movl %fs:(%rax), %eax -; LARGE-STATIC-NEXT: retq -; -; SMALL-PIC-LABEL: load_thread_data: -; SMALL-PIC: # %bb.0: -; SMALL-PIC-NEXT: movq thread_data@GOTTPOFF(%rip), %rax -; SMALL-PIC-NEXT: movl %fs:(%rax), %eax -; SMALL-PIC-NEXT: retq -; -; MEDIUM-PIC-LABEL: load_thread_data: -; MEDIUM-PIC: # %bb.0: -; MEDIUM-PIC-NEXT: movq thread_data@GOTTPOFF(%rip), %rax -; MEDIUM-PIC-NEXT: movl %fs:(%rax), %eax -; MEDIUM-PIC-NEXT: retq -; -; LARGE-PIC-LABEL: load_thread_data: -; LARGE-PIC: # %bb.0: -; LARGE-PIC-NEXT: movq thread_data@GOTTPOFF(%rip), %rax -; LARGE-PIC-NEXT: movl %fs:(%rax), %eax -; LARGE-PIC-NEXT: retq -; +; CHECK-LABEL: load_thread_data: +; CHECK: # %bb.0: +; CHECK-NEXT: movq thread_data@{{.*}}(%rip), %rax +; CHECK-NEXT: movl %fs:(%rax), %eax +; CHECK-NEXT: retq %1 = load i32, i32* @thread_data, align 4 ret i32 %1 } @@ -442,7 +412,7 @@ define dso_local i32 @load_thread_data() #0 { define dso_local float @load_constant_pool(float %x) #0 { ; SMALL-STATIC-LABEL: load_constant_pool: ; SMALL-STATIC: # %bb.0: -; SMALL-STATIC-NEXT: addss {{\.LCPI.*}}(%rip), %xmm0 +; SMALL-STATIC-NEXT: addss {{.*}}(%rip), %xmm0 ; SMALL-STATIC-NEXT: retq ; ; MEDIUM-STATIC-LABEL: load_constant_pool: @@ -459,12 +429,12 @@ define dso_local float @load_constant_pool(float %x) #0 { ; ; SMALL-PIC-LABEL: load_constant_pool: ; SMALL-PIC: # %bb.0: -; SMALL-PIC-NEXT: addss {{\.LCPI.*}}(%rip), %xmm0 +; SMALL-PIC-NEXT: addss {{.*}}(%rip), %xmm0 ; SMALL-PIC-NEXT: retq ; ; MEDIUM-PIC-LABEL: load_constant_pool: ; MEDIUM-PIC: # %bb.0: -; MEDIUM-PIC-NEXT: leaq _GLOBAL_OFFSET_TABLE_(%rip), %rax +; MEDIUM-PIC-NEXT: leaq {{.*}}(%rip), %rax ; MEDIUM-PIC-NEXT: movabsq ${{\.LCPI.*}}@GOTOFF, %rcx ; MEDIUM-PIC-NEXT: addss (%rax,%rcx), %xmm0 ; MEDIUM-PIC-NEXT: retq @@ -472,7 +442,7 @@ define dso_local float @load_constant_pool(float %x) #0 { ; LARGE-PIC-LABEL: load_constant_pool: ; LARGE-PIC: # %bb.0: ; LARGE-PIC-NEXT: .L11$pb: -; LARGE-PIC-NEXT: leaq .L11$pb(%rip), %rax +; LARGE-PIC-NEXT: leaq .L11${{.*}}(%rip), %rax ; LARGE-PIC-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L11$pb, %rcx ; LARGE-PIC-NEXT: addq %rax, %rcx ; LARGE-PIC-NEXT: movabsq ${{\.LCPI.*}}@GOTOFF, %rax diff --git a/llvm/test/CodeGen/X86/emutls.ll b/llvm/test/CodeGen/X86/emutls.ll index 329a74733c5540..77c4f88e5dac3c 100644 --- a/llvm/test/CodeGen/X86/emutls.ll +++ b/llvm/test/CodeGen/X86/emutls.ll @@ -27,7 +27,7 @@ define i32 @my_get_xyz() { ; X86-NEXT: retl ; ; X64-LABEL: my_get_xyz: -; X64: movl $my_emutls_v_xyz, %edi +; X64: movq my_emutls_v_xyz@GOTPCREL(%rip), %rdi ; X64-NEXT: callq my_emutls_get_address ; X64-NEXT: movl (%rax), %eax ; X64-NEXT: popq %rcx diff --git a/llvm/test/CodeGen/X86/linux-preemption.ll b/llvm/test/CodeGen/X86/linux-preemption.ll index 15265f4019924f..f16327ce89fefa 100644 --- a/llvm/test/CodeGen/X86/linux-preemption.ll +++ b/llvm/test/CodeGen/X86/linux-preemption.ll @@ -41,7 +41,7 @@ define i32* @get_external_default_global() { ret i32* @external_default_global } ; CHECK: movq external_default_global@GOTPCREL(%rip), %rax -; STATIC: movl $external_default_global, %eax +; STATIC: movq external_default_global@GOTPCREL(%rip), %rax ; CHECK32: movl external_default_global@GOT(%eax), %eax @strong_local_global = dso_local global i32 42 @@ -90,7 +90,7 @@ define i32* @get_external_preemptable_global() { ret i32* @external_preemptable_global } ; CHECK: movq external_preemptable_global@GOTPCREL(%rip), %rax -; STATIC: movl $external_preemptable_global, %eax +; STATIC: movq external_preemptable_global@GOTPCREL(%rip), %rax ; CHECK32: movl external_preemptable_global@GOT(%eax), %eax ; aliases diff --git a/llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll b/llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll index f393595ef9bd24..e475c183c4885e 100644 --- a/llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll +++ b/llvm/test/CodeGen/X86/speculative-load-hardening-indirect.ll @@ -139,7 +139,8 @@ define i32 @test_indirect_call_global() nounwind { ; X64-NEXT: movq %rsp, %rax ; X64-NEXT: movq $-1, %rbx ; X64-NEXT: sarq $63, %rax -; X64-NEXT: movq {{.*}}(%rip), %rcx +; X64-NEXT: movq global_fnptr@{{.*}}(%rip), %rcx +; X64-NEXT: movq (%rcx), %rcx ; X64-NEXT: orq %rax, %rcx ; X64-NEXT: shlq $47, %rax ; X64-NEXT: orq %rax, %rsp @@ -185,7 +186,9 @@ define i32 @test_indirect_call_global() nounwind { ; X64-RETPOLINE-NEXT: movq %rsp, %rax ; X64-RETPOLINE-NEXT: movq $-1, %rbx ; X64-RETPOLINE-NEXT: sarq $63, %rax -; X64-RETPOLINE-NEXT: movq {{.*}}(%rip), %r11 +; X64-RETPOLINE-NEXT: movq global_fnptr@{{.*}}(%rip), %rcx +; X64-RETPOLINE-NEXT: movq (%rcx), %r11 +; X64-RETPOLINE-NEXT: orq %rax, %r11 ; X64-RETPOLINE-NEXT: shlq $47, %rax ; X64-RETPOLINE-NEXT: orq %rax, %rsp ; X64-RETPOLINE-NEXT: callq __llvm_retpoline_r11 @@ -211,7 +214,8 @@ define i32 @test_indirect_tail_call_global() nounwind { ; X64-NEXT: movq %rsp, %rax ; X64-NEXT: movq $-1, %rcx ; X64-NEXT: sarq $63, %rax -; X64-NEXT: movq {{.*}}(%rip), %rcx +; X64-NEXT: movq global_fnptr@{{.*}}(%rip), %rcx +; X64-NEXT: movq (%rcx), %rcx ; X64-NEXT: orq %rax, %rcx ; X64-NEXT: shlq $47, %rax ; X64-NEXT: orq %rax, %rsp @@ -234,7 +238,9 @@ define i32 @test_indirect_tail_call_global() nounwind { ; X64-RETPOLINE-NEXT: movq %rsp, %rax ; X64-RETPOLINE-NEXT: movq $-1, %rcx ; X64-RETPOLINE-NEXT: sarq $63, %rax -; X64-RETPOLINE-NEXT: movq {{.*}}(%rip), %r11 +; X64-RETPOLINE-NEXT: movq global_fnptr@{{.*}}(%rip), %rcx +; X64-RETPOLINE-NEXT: movq (%rcx), %r11 +; X64-RETPOLINE-NEXT: orq %rax, %r11 ; X64-RETPOLINE-NEXT: shlq $47, %rax ; X64-RETPOLINE-NEXT: orq %rax, %rsp ; X64-RETPOLINE-NEXT: jmp __llvm_retpoline_r11 # TAILCALL diff --git a/llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll b/llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll index ceca191082c5bf..daee8057b7dbd4 100644 --- a/llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll +++ b/llvm/test/CodeGen/X86/tail-dup-merge-loop-headers.ll @@ -204,8 +204,8 @@ define i32 @loop_shared_header(i8* %exe, i32 %exesz, i32 %headsize, i32 %min, i3 ; CHECK-NEXT: jne .LBB1_27 ; CHECK-NEXT: .LBB1_21: # %if.end41.us1436.i ; CHECK-NEXT: .LBB1_23: # %if.then99.i +; CHECK-NEXT: movq .str.6@{{.*}}(%rip), %rdi ; CHECK-NEXT: xorl %ebx, %ebx -; CHECK-NEXT: movl $.str.6, %edi ; CHECK-NEXT: xorl %eax, %eax ; CHECK-NEXT: callq cli_dbgmsg ; CHECK-NEXT: .LBB1_27: # %cleanup diff --git a/llvm/test/CodeGen/X86/x86-64-mem.ll b/llvm/test/CodeGen/X86/x86-64-mem.ll index 2c46f8887532ef..bd6787e869f7ac 100644 --- a/llvm/test/CodeGen/X86/x86-64-mem.ll +++ b/llvm/test/CodeGen/X86/x86-64-mem.ll @@ -22,8 +22,10 @@ define void @test1() nounwind { ; ; LINUX-LABEL: test1: ; LINUX: # %bb.0: -; LINUX-NEXT: movl {{.*}}(%rip), %eax -; LINUX-NEXT: movl %eax, {{.*}}(%rip) +; LINUX-NEXT: movq src@{{.*}}(%rip), %rax +; LINUX-NEXT: movl (%rax), %eax +; LINUX-NEXT: movq dst@{{.*}}(%rip), %rcx +; LINUX-NEXT: movl %eax, (%rcx) ; LINUX-NEXT: retq %tmp = load i32, i32* getelementptr ([0 x i32], [0 x i32]* @src, i32 0, i32 0) ; [#uses=1] store i32 %tmp, i32* getelementptr ([0 x i32], [0 x i32]* @dst, i32 0, i32 0) @@ -40,7 +42,9 @@ define void @test2() nounwind { ; ; LINUX-LABEL: test2: ; LINUX: # %bb.0: -; LINUX-NEXT: movq $dst, {{.*}}(%rip) +; LINUX-NEXT: movq dst@{{.*}}(%rip), %rax +; LINUX-NEXT: movq ptr@{{.*}}(%rip), %rcx +; LINUX-NEXT: movq %rax, (%rcx) ; LINUX-NEXT: retq store i32* getelementptr ([0 x i32], [0 x i32]* @dst, i32 0, i32 0), i32** @ptr ret void diff --git a/llvm/test/CodeGen/X86/x86-store-gv-addr.ll b/llvm/test/CodeGen/X86/x86-store-gv-addr.ll index 11da500d3fb2ab..e8823bd7efbb1f 100644 --- a/llvm/test/CodeGen/X86/x86-store-gv-addr.ll +++ b/llvm/test/CodeGen/X86/x86-store-gv-addr.ll @@ -15,7 +15,9 @@ define void @t() nounwind optsize { ; ; x86_64-linux-LABEL: t: ; x86_64-linux: # %bb.0: -; x86_64-linux-NEXT: movq $v, {{.*}}(%rip) +; x86_64-linux-NEXT: movq v@{{.*}}(%rip), %rax +; x86_64-linux-NEXT: movq v_addr@{{.*}}(%rip), %rcx +; x86_64-linux-NEXT: movq %rax, (%rcx) store i32* @v, i32** @v_addr, align 8 unreachable } diff --git a/llvm/test/CodeGen/XCore/threads.ll b/llvm/test/CodeGen/XCore/threads.ll index 30dda143e0840f..0c25314295d77c 100644 --- a/llvm/test/CodeGen/XCore/threads.ll +++ b/llvm/test/CodeGen/XCore/threads.ll @@ -87,7 +87,7 @@ define i32* @f_tle() { ; CHECK: shl [[R0:r[0-9]]], r11, 3 ; CHECK: ldaw [[R1:r[0-9]]], dp[tle] ; r0 = &tl + id*8 -; CHECK: add r0, [[R0]], [[R1]] +; CHECK: add r0, [[R1]], [[R0]] ret i32* getelementptr inbounds ([2 x i32], [2 x i32]* @tle, i32 0, i32 0) } @@ -96,7 +96,7 @@ define i32 @f_tlExpr () { ; CHECK: get r11, id ; CHECK: shl [[R0:r[0-9]]], r11, 3 ; CHECK: ldaw [[R1:r[0-9]]], dp[tle] -; CHECK: add [[R2:r[0-9]]], [[R0]], [[R1]] +; CHECK: add [[R2:r[0-9]]], [[R1]], [[R0]] ; CHECK: add r0, [[R2]], [[R2]] ret i32 add( i32 ptrtoint( i32* getelementptr inbounds ([2 x i32], [2 x i32]* @tle, i32 0, i32 0) to i32),