[llvm] r338928 - [X86] Re-generate abi-isel.ll checks with update_llc_test_checks.py

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 3 14:58:26 PDT 2018


Author: rnk
Date: Fri Aug  3 14:58:25 2018
New Revision: 338928

URL: http://llvm.org/viewvc/llvm-project?rev=338928&view=rev
Log:
[X86] Re-generate abi-isel.ll checks with update_llc_test_checks.py

These tests were clearly auto-generated when they were converted to
FileCheck back in r80019 (2009), but we didn't have a fancy script to
keep them up to date then. I've reviewed the diff, and we should be
generating the exact same code sequences we used to.

After this, I plan to commit a change that changes our output slightly,
but in a way that is still correct. It will generate a large diff, and I
want it to be clearly correct, so I am regenerating these checks in
preparation for that.

Modified:
    llvm/trunk/test/CodeGen/X86/abi-isel.ll

Modified: llvm/trunk/test/CodeGen/X86/abi-isel.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/abi-isel.ll?rev=338928&r1=338927&r2=338928&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/abi-isel.ll (original)
+++ llvm/trunk/test/CodeGen/X86/abi-isel.ll Fri Aug  3 14:58:25 2018
@@ -1,3 +1,5 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+
 ; RUN: llc < %s -mcpu=generic -mtriple=x86_64-unknown-linux-gnu -relocation-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-64-STATIC
 ; RUN: llc < %s -mcpu=generic -mtriple=i686-unknown-linux-gnu -relocation-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-32-STATIC
 ; RUN: llc < %s -mcpu=generic -mtriple=i686-unknown-linux-gnu -relocation-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-32-PIC
@@ -32,69 +34,80 @@
 
 define void @foo00() nounwind {
 ; LINUX-64-STATIC-LABEL: foo00:
-; LINUX-64-STATIC: movl	src(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl	[[EAX]], dst
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: foo00:
-; LINUX-32-STATIC: 	movl	src, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], dst
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl src, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, dst
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: foo00:
-; LINUX-32-PIC: 	movl	src, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], dst
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl src, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, dst
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: foo00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r..]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]]), [[EAX:%e..]]
-; LINUX-64-PIC-NEXT: 	movq	dst at GOTPCREL(%rip), [[RCX:%r..]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax), %eax
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: foo00:
-; DARWIN-32-STATIC: 	movl	_src, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _dst
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _src, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _dst
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: foo00:
-; DARWIN-32-DYNAMIC: 	movl	L_src$non_lazy_ptr, [[EAX:%e..]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EAX]]), [[EAX:%e..]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_dst$non_lazy_ptr, [[ECX:%e..]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: foo00:
-; DARWIN-32-PIC: 	calll	L0$pb
-; DARWIN-32-PIC-NEXT: L0$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L0$pb([[EAX]]), [[ECX:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	([[ECX]]), [[ECX:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L0$pb([[EAX]]), [[EAX:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L0$pb
+; DARWIN-32-PIC-NEXT:  L0$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L0$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl (%ecx), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L0$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: foo00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r..]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]]), [[EAX:%e..]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r..]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: foo00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r..]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]]), [[EAX:%e..]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r..]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: foo00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r..]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]]), [[EAX:%e..]]
-; DARWIN-64-PIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r..]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 0), align 4
 	store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 0), align 4
@@ -104,69 +117,80 @@ entry:
 
 define void @fxo00() nounwind {
 ; LINUX-64-STATIC-LABEL: fxo00:
-; LINUX-64-STATIC: movl	xsrc(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl	[[EAX]], xdst
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: fxo00:
-; LINUX-32-STATIC: 	movl	xsrc, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], xdst
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl xsrc, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, xdst
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: fxo00:
-; LINUX-32-PIC: 	movl	xsrc, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], xdst
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl xsrc, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, xdst
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: fxo00:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax), %eax
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: fxo00:
-; DARWIN-32-STATIC: 	movl	_xsrc, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _xdst
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _xsrc, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _xdst
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: fxo00:
-; DARWIN-32-DYNAMIC: 	movl	L_xsrc$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xdst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: fxo00:
-; DARWIN-32-PIC: 	calll	L1$pb
-; DARWIN-32-PIC-NEXT: L1$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L1$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L1$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L1$pb
+; DARWIN-32-PIC-NEXT:  L1$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L1$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl (%ecx), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L1$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: fxo00:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: fxo00:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: fxo00:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([32 x i32], [32 x i32]* @xsrc, i32 0, i64 0), align 4
 	store i32 %0, i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i64 0), align 4
@@ -176,59 +200,70 @@ entry:
 
 define void @foo01() nounwind {
 ; LINUX-64-STATIC-LABEL: foo01:
-; LINUX-64-STATIC: movq	$dst, ptr
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $dst, ptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: foo01:
-; LINUX-32-STATIC: 	movl	$dst, ptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dst, ptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: foo01:
-; LINUX-32-PIC: 	movl	$dst, ptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dst, ptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: foo01:
-; LINUX-64-PIC: 	movq	dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: foo01:
-; DARWIN-32-STATIC: 	movl	$_dst, _ptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dst, _ptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: foo01:
-; DARWIN-32-DYNAMIC: 	movl	L_dst$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: foo01:
-; DARWIN-32-PIC: 	calll	L2$pb
-; DARWIN-32-PIC-NEXT: L2$pb:
-; DARWIN-32-PIC-NEXT: 	popl
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L2$pb(
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L2$pb(
-; DARWIN-32-PIC-NEXT: 	movl
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L2$pb
+; DARWIN-32-PIC-NEXT:  L2$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L2$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L2$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: foo01:
-; DARWIN-64-STATIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: foo01:
-; DARWIN-64-DYNAMIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: foo01:
-; DARWIN-64-PIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	store i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i32 0), i32** @ptr, align 8
 	ret void
@@ -236,59 +271,70 @@ entry:
 
 define void @fxo01() nounwind {
 ; LINUX-64-STATIC-LABEL: fxo01:
-; LINUX-64-STATIC: movq	$xdst, ptr
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $xdst, ptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: fxo01:
-; LINUX-32-STATIC: 	movl	$xdst, ptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $xdst, ptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: fxo01:
-; LINUX-32-PIC: 	movl	$xdst, ptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $xdst, ptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: fxo01:
-; LINUX-64-PIC: 	movq	xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: fxo01:
-; DARWIN-32-STATIC: 	movl	$_xdst, _ptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_xdst, _ptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: fxo01:
-; DARWIN-32-DYNAMIC: 	movl	L_xdst$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: fxo01:
-; DARWIN-32-PIC: 	calll	L3$pb
-; DARWIN-32-PIC-NEXT: L3$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[R0:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L3$pb([[R0]]), [[R1:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L3$pb([[R0]]), [[R2:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	[[R1:%e..]], ([[R2]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L3$pb
+; DARWIN-32-PIC-NEXT:  L3$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L3$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L3$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: fxo01:
-; DARWIN-64-STATIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: fxo01:
-; DARWIN-64-DYNAMIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: fxo01:
-; DARWIN-64-PIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	store i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i32 0), i32** @ptr, align 8
 	ret void
@@ -296,79 +342,90 @@ entry:
 
 define void @foo02() nounwind {
 ; LINUX-64-STATIC-LABEL: foo02:
-; LINUX-64-STATIC: movl    src(%rip), %
-; LINUX-64-STATIC: movq    ptr(%rip), %
-; LINUX-64-STATIC: movl
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, (%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: foo02:
-; LINUX-32-STATIC: 	movl	src, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl src, %eax
+; LINUX-32-STATIC-NEXT:    movl ptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, (%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: foo02:
-; LINUX-32-PIC: 	movl	src, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl src, %eax
+; LINUX-32-PIC-NEXT:    movl ptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, (%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: foo02:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax), %eax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: foo02:
-; DARWIN-32-STATIC: 	movl	_src, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _src, %eax
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: foo02:
-; DARWIN-32-DYNAMIC: 	movl	L_src$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%ecx), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: foo02:
-; DARWIN-32-PIC: 	calll	L4$pb
-; DARWIN-32-PIC-NEXT: L4$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[R0:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L4$pb([[R0]]), [[R1:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	([[R1]]), [[R2:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L4$pb([[R0]]), [[R3:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	([[R3]]), [[R4:%e..]]
-; DARWIN-32-PIC-NEXT: 	movl	[[R2]], ([[R4]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L4$pb
+; DARWIN-32-PIC-NEXT:  L4$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L4$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl (%ecx), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L4$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: foo02:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: foo02:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: foo02:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 0), align 4
@@ -378,79 +435,90 @@ entry:
 
 define void @fxo02() nounwind {
 ; LINUX-64-STATIC-LABEL: fxo02:
-; LINUX-64-STATIC: movl    xsrc(%rip), %
-; LINUX-64-STATIC: movq    ptr(%rip), %
-; LINUX-64-STATIC: movl
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, (%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: fxo02:
-; LINUX-32-STATIC: 	movl	xsrc, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl xsrc, %eax
+; LINUX-32-STATIC-NEXT:    movl ptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, (%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: fxo02:
-; LINUX-32-PIC: 	movl	xsrc, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl xsrc, %eax
+; LINUX-32-PIC-NEXT:    movl ptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, (%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: fxo02:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax), %eax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: fxo02:
-; DARWIN-32-STATIC: 	movl	_xsrc, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _xsrc, %eax
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: fxo02:
-; DARWIN-32-DYNAMIC: 	movl	L_xsrc$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%ecx), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: fxo02:
-; DARWIN-32-PIC: 	calll	L5$pb
-; DARWIN-32-PIC-NEXT: L5$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L5$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L5$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L5$pb
+; DARWIN-32-PIC-NEXT:  L5$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L5$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl (%ecx), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L5$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: fxo02:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: fxo02:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: fxo02:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax), %eax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = load i32, i32* getelementptr ([32 x i32], [32 x i32]* @xsrc, i32 0, i64 0), align 4
@@ -460,59 +528,70 @@ entry:
 
 define void @foo03() nounwind {
 ; LINUX-64-STATIC-LABEL: foo03:
-; LINUX-64-STATIC: movl    dsrc(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ddst
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: foo03:
-; LINUX-32-STATIC: 	movl	dsrc, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ddst
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl dsrc, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ddst
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: foo03:
-; LINUX-32-PIC: 	movl	dsrc, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ddst
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl dsrc, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ddst
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: foo03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ddst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax), %eax
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: foo03:
-; DARWIN-32-STATIC: 	movl	_dsrc, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ddst
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _dsrc, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ddst
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: foo03:
-; DARWIN-32-DYNAMIC: 	movl	_dsrc, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _ddst
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _ddst
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: foo03:
-; DARWIN-32-PIC: 	calll	L6$pb
-; DARWIN-32-PIC-NEXT: L6$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dsrc-L6$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _ddst-L6$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L6$pb
+; DARWIN-32-PIC-NEXT:  L6$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl _dsrc-L6$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _ddst-L6$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: foo03:
-; DARWIN-64-STATIC: 	movl	_dsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], _ddst(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: foo03:
-; DARWIN-64-DYNAMIC: 	movl	_dsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], _ddst(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: foo03:
-; DARWIN-64-PIC: 	movl	_dsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], _ddst(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 0), align 32
 	store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 0), align 32
@@ -521,53 +600,64 @@ entry:
 
 define void @foo04() nounwind {
 ; LINUX-64-STATIC-LABEL: foo04:
-; LINUX-64-STATIC: movq    $ddst, dptr
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $ddst, dptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: foo04:
-; LINUX-32-STATIC: 	movl	$ddst, dptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ddst, dptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: foo04:
-; LINUX-32-PIC: 	movl	$ddst, dptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ddst, dptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: foo04:
-; LINUX-64-PIC: 	movq	ddst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: foo04:
-; DARWIN-32-STATIC: 	movl	$_ddst, _dptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ddst, _dptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: foo04:
-; DARWIN-32-DYNAMIC: 	movl	$_ddst, _dptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ddst, _dptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: foo04:
-; DARWIN-32-PIC: 	calll	L7$pb
-; DARWIN-32-PIC-NEXT: L7$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_ddst-L7$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _dptr-L7$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L7$pb
+; DARWIN-32-PIC-NEXT:  L7$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _ddst-L7$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _dptr-L7$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: foo04:
-; DARWIN-64-STATIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: foo04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: foo04:
-; DARWIN-64-PIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	store i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i32 0), i32** @dptr, align 8
 	ret void
@@ -575,69 +665,80 @@ entry:
 
 define void @foo05() nounwind {
 ; LINUX-64-STATIC-LABEL: foo05:
-; LINUX-64-STATIC: movl    dsrc(%rip), %
-; LINUX-64-STATIC: movq    dptr(%rip), %
-; LINUX-64-STATIC: movl
-; LINUX-64-STATIC: ret
-
+; 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 %eax, (%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: foo05:
-; LINUX-32-STATIC: 	movl	dsrc, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl dsrc, %eax
+; LINUX-32-STATIC-NEXT:    movl dptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, (%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: foo05:
-; LINUX-32-PIC: 	movl	dsrc, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl dsrc, %eax
+; LINUX-32-PIC-NEXT:    movl dptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, (%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: foo05:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax), %eax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: foo05:
-; DARWIN-32-STATIC: 	movl	_dsrc, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _dsrc, %eax
+; DARWIN-32-STATIC-NEXT:    movl _dptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: foo05:
-; DARWIN-32-DYNAMIC: 	movl	_dsrc, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: foo05:
-; DARWIN-32-PIC: 	calll	L8$pb
-; DARWIN-32-PIC-NEXT: L8$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dsrc-L8$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dptr-L8$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L8$pb
+; DARWIN-32-PIC-NEXT:  L8$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl _dsrc-L8$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl _dptr-L8$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: foo05:
-; DARWIN-64-STATIC: 	movl	_dsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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 %eax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: foo05:
-; DARWIN-64-DYNAMIC: 	movl	_dsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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 %eax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: foo05:
-; DARWIN-64-PIC: 	movl	_dsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; 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 %eax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 0), align 32
@@ -647,57 +748,68 @@ entry:
 
 define void @foo06() nounwind {
 ; LINUX-64-STATIC-LABEL: foo06:
-; LINUX-64-STATIC: movl    lsrc(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ldst(%rip)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: foo06:
-; LINUX-32-STATIC: 	movl	lsrc, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ldst
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl lsrc, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ldst
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: foo06:
-; LINUX-32-PIC: 	movl	lsrc, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ldst
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl lsrc, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ldst
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: foo06:
-; LINUX-64-PIC: 	movl	lsrc(%rip), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ldst(%rip)
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-32-STATIC-LABEL: foo06:
-; DARWIN-32-STATIC: 	movl	_lsrc, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ldst
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _lsrc, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ldst
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: foo06:
-; DARWIN-32-DYNAMIC: 	movl	_lsrc, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _ldst
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _ldst
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: foo06:
-; DARWIN-32-PIC: 	calll	L9$pb
-; DARWIN-32-PIC-NEXT: L9$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lsrc-L9$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _ldst-L9$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L9$pb
+; DARWIN-32-PIC-NEXT:  L9$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl _lsrc-L9$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _ldst-L9$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: foo06:
-; DARWIN-64-STATIC: 	movl	_lsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], _ldst(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: foo06:
-; DARWIN-64-DYNAMIC: 	movl	_lsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], _ldst(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: foo06:
-; DARWIN-64-PIC: 	movl	_lsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], _ldst(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 0), align 4
 	store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 0), align 4
@@ -706,52 +818,63 @@ entry:
 
 define void @foo07() nounwind {
 ; LINUX-64-STATIC-LABEL: foo07:
-; LINUX-64-STATIC: movq    $ldst, lptr
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $ldst, lptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: foo07:
-; LINUX-32-STATIC: 	movl	$ldst, lptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ldst, lptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: foo07:
-; LINUX-32-PIC: 	movl	$ldst, lptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ldst, lptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: foo07:
-; LINUX-64-PIC: 	leaq	ldst(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], lptr(%rip)
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-32-STATIC-LABEL: foo07:
-; DARWIN-32-STATIC: 	movl	$_ldst, _lptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ldst, _lptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: foo07:
-; DARWIN-32-DYNAMIC: 	movl	$_ldst, _lptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ldst, _lptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: foo07:
-; DARWIN-32-PIC: 	calll	L10$pb
-; DARWIN-32-PIC-NEXT: L10$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_ldst-L10$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _lptr-L10$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L10$pb
+; DARWIN-32-PIC-NEXT:  L10$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _ldst-L10$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _lptr-L10$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: foo07:
-; DARWIN-64-STATIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: foo07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: foo07:
-; DARWIN-64-PIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	store i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i32 0), i32** @lptr, align 8
 	ret void
@@ -759,67 +882,78 @@ entry:
 
 define void @foo08() nounwind {
 ; LINUX-64-STATIC-LABEL: foo08:
-; LINUX-64-STATIC: movl    lsrc(%rip), %
-; LINUX-64-STATIC: movq    lptr(%rip), %
-; LINUX-64-STATIC: movl
-; LINUX-64-STATIC: ret
-
+; 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 %eax, (%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: foo08:
-; LINUX-32-STATIC: 	movl	lsrc, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl lsrc, %eax
+; LINUX-32-STATIC-NEXT:    movl lptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, (%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: foo08:
-; LINUX-32-PIC: 	movl	lsrc, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl lsrc, %eax
+; LINUX-32-PIC-NEXT:    movl lptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, (%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: foo08:
-; LINUX-64-PIC: 	movl	lsrc(%rip), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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 %eax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: foo08:
-; DARWIN-32-STATIC: 	movl	_lsrc, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _lsrc, %eax
+; DARWIN-32-STATIC-NEXT:    movl _lptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: foo08:
-; DARWIN-32-DYNAMIC: 	movl	_lsrc, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: foo08:
-; DARWIN-32-PIC: 	calll	L11$pb
-; DARWIN-32-PIC-NEXT: L11$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lsrc-L11$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lptr-L11$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L11$pb
+; DARWIN-32-PIC-NEXT:  L11$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl _lsrc-L11$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl _lptr-L11$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: foo08:
-; DARWIN-64-STATIC: 	movl	_lsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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 %eax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: foo08:
-; DARWIN-64-DYNAMIC: 	movl	_lsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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 %eax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: foo08:
-; DARWIN-64-PIC: 	movl	_lsrc(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; 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 %eax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @lptr, align 8
 	%1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 0), align 4
@@ -829,69 +963,80 @@ entry:
 
 define void @qux00() nounwind {
 ; LINUX-64-STATIC-LABEL: qux00:
-; LINUX-64-STATIC: movl    src+64(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], dst+64(%rip)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: qux00:
-; LINUX-32-STATIC: 	movl	src+64, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], dst+64
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl src+64, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, dst+64
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qux00:
-; LINUX-32-PIC: 	movl	src+64, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], dst+64
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl src+64, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, dst+64
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qux00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax), %eax
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qux00:
-; DARWIN-32-STATIC: 	movl	_src+64, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _dst+64
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _src+64, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _dst+64
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qux00:
-; DARWIN-32-DYNAMIC: 	movl	L_src$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	64([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_dst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl 64(%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, 64(%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qux00:
-; DARWIN-32-PIC: 	calll	L12$pb
-; DARWIN-32-PIC-NEXT: L12$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L12$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	64([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L12$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], 64([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L12$pb
+; DARWIN-32-PIC-NEXT:  L12$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L12$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl 64(%ecx), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L12$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, 64(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qux00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qux00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: qux00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 16), align 4
 	store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 16), align 4
@@ -900,69 +1045,80 @@ entry:
 
 define void @qxx00() nounwind {
 ; LINUX-64-STATIC-LABEL: qxx00:
-; LINUX-64-STATIC: movl    xsrc+64(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], xdst+64(%rip)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: qxx00:
-; LINUX-32-STATIC: 	movl	xsrc+64, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], xdst+64
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl xsrc+64, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, xdst+64
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qxx00:
-; LINUX-32-PIC: 	movl	xsrc+64, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], xdst+64
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl xsrc+64, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, xdst+64
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qxx00:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax), %eax
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qxx00:
-; DARWIN-32-STATIC: 	movl	_xsrc+64, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _xdst+64
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _xsrc+64, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _xdst+64
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qxx00:
-; DARWIN-32-DYNAMIC: 	movl	L_xsrc$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	64([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xdst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl 64(%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, 64(%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qxx00:
-; DARWIN-32-PIC: 	calll	L13$pb
-; DARWIN-32-PIC-NEXT: L13$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L13$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	64([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L13$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], 64([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L13$pb
+; DARWIN-32-PIC-NEXT:  L13$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L13$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl 64(%ecx), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L13$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, 64(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qxx00:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qxx00:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: qxx00:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([32 x i32], [32 x i32]* @xsrc, i32 0, i64 16), align 4
 	store i32 %0, i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i64 16), align 4
@@ -971,65 +1127,76 @@ entry:
 
 define void @qux01() nounwind {
 ; LINUX-64-STATIC-LABEL: qux01:
-; LINUX-64-STATIC: movq    $dst+64, ptr
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $dst+64, ptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: qux01:
-; LINUX-32-STATIC: 	movl	$dst+64, ptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dst+64, ptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qux01:
-; LINUX-32-PIC: 	movl	$dst+64, ptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dst+64, ptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qux01:
-; LINUX-64-PIC: 	movq	dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	addq	$64, [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qux01:
-; DARWIN-32-STATIC: 	movl	$_dst+64, _ptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dst+64, _ptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qux01:
-; DARWIN-32-DYNAMIC: 	movl	L_dst$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$64, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl $64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qux01:
-; DARWIN-32-PIC: 	calll	L14$pb
-; DARWIN-32-PIC-NEXT: L14$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L14$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	addl	$64, [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L14$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L14$pb
+; DARWIN-32-PIC-NEXT:  L14$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L14$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    addl $64, %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L14$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qux01:
-; DARWIN-64-STATIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	addq	$64, [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    addq $64, %rax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qux01:
-; DARWIN-64-DYNAMIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	addq	$64, [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    addq $64, %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: qux01:
-; DARWIN-64-PIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	addq	$64, [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    addq $64, %rax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	store i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 16), i32** @ptr, align 8
 	ret void
@@ -1037,65 +1204,76 @@ entry:
 
 define void @qxx01() nounwind {
 ; LINUX-64-STATIC-LABEL: qxx01:
-; LINUX-64-STATIC: movq    $xdst+64, ptr
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $xdst+64, ptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: qxx01:
-; LINUX-32-STATIC: 	movl	$xdst+64, ptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $xdst+64, ptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qxx01:
-; LINUX-32-PIC: 	movl	$xdst+64, ptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $xdst+64, ptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qxx01:
-; LINUX-64-PIC: 	movq	xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	addq	$64, [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qxx01:
-; DARWIN-32-STATIC: 	movl	$_xdst+64, _ptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_xdst+64, _ptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qxx01:
-; DARWIN-32-DYNAMIC: 	movl	L_xdst$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$64, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl $64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qxx01:
-; DARWIN-32-PIC: 	calll	L15$pb
-; DARWIN-32-PIC-NEXT: L15$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L15$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	addl	$64, [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L15$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L15$pb
+; DARWIN-32-PIC-NEXT:  L15$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L15$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    addl $64, %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L15$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qxx01:
-; DARWIN-64-STATIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	addq	$64, [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    addq $64, %rax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qxx01:
-; DARWIN-64-DYNAMIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	addq	$64, [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    addq $64, %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: qxx01:
-; DARWIN-64-PIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	addq	$64, [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    addq $64, %rax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	store i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i64 16), i32** @ptr, align 8
 	ret void
@@ -1103,79 +1281,90 @@ entry:
 
 define void @qux02() nounwind {
 ; LINUX-64-STATIC-LABEL: qux02:
-; LINUX-64-STATIC: movl    src+64(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    ptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 64([[RCX]])
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, 64(%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: qux02:
-; LINUX-32-STATIC: 	movl	src+64, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl src+64, %eax
+; LINUX-32-STATIC-NEXT:    movl ptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, 64(%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qux02:
-; LINUX-32-PIC: 	movl	src+64, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl src+64, %eax
+; LINUX-32-PIC-NEXT:    movl ptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, 64(%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qux02:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax), %eax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qux02:
-; DARWIN-32-STATIC: 	movl	_src+64, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _src+64, %eax
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, 64(%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qux02:
-; DARWIN-32-DYNAMIC: 	movl	L_src$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	64([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl 64(%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%ecx), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, 64(%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qux02:
-; DARWIN-32-PIC: 	calll	L16$pb
-; DARWIN-32-PIC-NEXT: L16$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L16$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	64([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L16$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], 64([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L16$pb
+; DARWIN-32-PIC-NEXT:  L16$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L16$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl 64(%ecx), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L16$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, 64(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qux02:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qux02:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: qux02:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 16), align 4
@@ -1186,79 +1375,90 @@ entry:
 
 define void @qxx02() nounwind {
 ; LINUX-64-STATIC-LABEL: qxx02:
-; LINUX-64-STATIC: movl    xsrc+64(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    ptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 64([[RCX]])
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, 64(%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: qxx02:
-; LINUX-32-STATIC: 	movl	xsrc+64, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl xsrc+64, %eax
+; LINUX-32-STATIC-NEXT:    movl ptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, 64(%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qxx02:
-; LINUX-32-PIC: 	movl	xsrc+64, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl xsrc+64, %eax
+; LINUX-32-PIC-NEXT:    movl ptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, 64(%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qxx02:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax), %eax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qxx02:
-; DARWIN-32-STATIC: 	movl	_xsrc+64, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _xsrc+64, %eax
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, 64(%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qxx02:
-; DARWIN-32-DYNAMIC: 	movl	L_xsrc$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	64([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl 64(%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%ecx), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, 64(%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qxx02:
-; DARWIN-32-PIC: 	calll	L17$pb
-; DARWIN-32-PIC-NEXT: L17$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L17$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	64([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L17$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], 64([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L17$pb
+; DARWIN-32-PIC-NEXT:  L17$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L17$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl 64(%ecx), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L17$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, 64(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qxx02:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qxx02:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: qxx02:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax), %eax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = load i32, i32* getelementptr ([32 x i32], [32 x i32]* @xsrc, i32 0, i64 16), align 4
@@ -1269,59 +1469,70 @@ entry:
 
 define void @qux03() nounwind {
 ; LINUX-64-STATIC-LABEL: qux03:
-; LINUX-64-STATIC: movl    dsrc+64(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ddst+64(%rip)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: qux03:
-; LINUX-32-STATIC: 	movl	dsrc+64, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ddst+64
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl dsrc+64, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ddst+64
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qux03:
-; LINUX-32-PIC: 	movl	dsrc+64, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ddst+64
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl dsrc+64, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ddst+64
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qux03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ddst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax), %eax
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qux03:
-; DARWIN-32-STATIC: 	movl	_dsrc+64, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ddst+64
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _dsrc+64, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ddst+64
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qux03:
-; DARWIN-32-DYNAMIC: 	movl	_dsrc+64, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _ddst+64
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc+64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _ddst+64
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qux03:
-; DARWIN-32-PIC: 	calll	L18$pb
-; DARWIN-32-PIC-NEXT: L18$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_dsrc-L18$pb)+64([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], (_ddst-L18$pb)+64([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L18$pb
+; DARWIN-32-PIC-NEXT:  L18$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl (_dsrc-L18$pb)+64(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, (_ddst-L18$pb)+64(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qux03:
-; DARWIN-64-STATIC: 	movl	_dsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], _ddst+64(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qux03:
-; DARWIN-64-DYNAMIC: 	movl	_dsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], _ddst+64(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: qux03:
-; DARWIN-64-PIC: 	movl	_dsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], _ddst+64(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 16), align 32
 	store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 16), align 32
@@ -1330,54 +1541,65 @@ entry:
 
 define void @qux04() nounwind {
 ; LINUX-64-STATIC-LABEL: qux04:
-; LINUX-64-STATIC: movq    $ddst+64, dptr(%rip)
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $ddst+64, dptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: qux04:
-; LINUX-32-STATIC: 	movl	$ddst+64, dptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ddst+64, dptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qux04:
-; LINUX-32-PIC: 	movl	$ddst+64, dptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ddst+64, dptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qux04:
-; LINUX-64-PIC: 	movq	ddst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	addq	$64, [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qux04:
-; DARWIN-32-STATIC: 	movl	$_ddst+64, _dptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ddst+64, _dptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qux04:
-; DARWIN-32-DYNAMIC: 	movl	$_ddst+64, _dptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ddst+64, _dptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qux04:
-; DARWIN-32-PIC: 	calll	L19$pb
-; DARWIN-32-PIC-NEXT: L19$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ddst-L19$pb)+64([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _dptr-L19$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L19$pb
+; DARWIN-32-PIC-NEXT:  L19$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_ddst-L19$pb)+64(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _dptr-L19$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qux04:
-; DARWIN-64-STATIC: 	leaq	_ddst+64(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qux04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst+64(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: qux04:
-; DARWIN-64-PIC: 	leaq	_ddst+64(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	store i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 16), i32** @dptr, align 8
 	ret void
@@ -1385,69 +1607,80 @@ entry:
 
 define void @qux05() nounwind {
 ; LINUX-64-STATIC-LABEL: qux05:
-; LINUX-64-STATIC: movl    dsrc+64(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    dptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 64([[RCX]])
-; LINUX-64-STATIC: ret
-
+; 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 %eax, 64(%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: qux05:
-; LINUX-32-STATIC: 	movl	dsrc+64, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl dsrc+64, %eax
+; LINUX-32-STATIC-NEXT:    movl dptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, 64(%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qux05:
-; LINUX-32-PIC: 	movl	dsrc+64, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl dsrc+64, %eax
+; LINUX-32-PIC-NEXT:    movl dptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, 64(%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qux05:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax), %eax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qux05:
-; DARWIN-32-STATIC: 	movl	_dsrc+64, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _dsrc+64, %eax
+; DARWIN-32-STATIC-NEXT:    movl _dptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, 64(%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qux05:
-; DARWIN-32-DYNAMIC: 	movl	_dsrc+64, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc+64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, 64(%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qux05:
-; DARWIN-32-PIC: 	calll	L20$pb
-; DARWIN-32-PIC-NEXT: L20$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_dsrc-L20$pb)+64([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dptr-L20$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], 64([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L20$pb
+; DARWIN-32-PIC-NEXT:  L20$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl (_dsrc-L20$pb)+64(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl _dptr-L20$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, 64(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qux05:
-; DARWIN-64-STATIC: 	movl	_dsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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 %eax, 64(%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qux05:
-; DARWIN-64-DYNAMIC: 	movl	_dsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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 %eax, 64(%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: qux05:
-; DARWIN-64-PIC: 	movl	_dsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; 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 %eax, 64(%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 16), align 32
@@ -1458,57 +1691,68 @@ entry:
 
 define void @qux06() nounwind {
 ; LINUX-64-STATIC-LABEL: qux06:
-; LINUX-64-STATIC: movl    lsrc+64(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ldst+64
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: qux06:
-; LINUX-32-STATIC: 	movl	lsrc+64, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ldst+64
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl lsrc+64, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ldst+64
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qux06:
-; LINUX-32-PIC: 	movl	lsrc+64, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ldst+64
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl lsrc+64, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ldst+64
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qux06:
-; LINUX-64-PIC: 	movl	lsrc+64(%rip), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ldst+64(%rip)
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qux06:
-; DARWIN-32-STATIC: 	movl	_lsrc+64, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ldst+64
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _lsrc+64, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ldst+64
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qux06:
-; DARWIN-32-DYNAMIC: 	movl	_lsrc+64, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _ldst+64
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc+64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _ldst+64
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qux06:
-; DARWIN-32-PIC: 	calll	L21$pb
-; DARWIN-32-PIC-NEXT: L21$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_lsrc-L21$pb)+64([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], (_ldst-L21$pb)+64([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L21$pb
+; DARWIN-32-PIC-NEXT:  L21$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl (_lsrc-L21$pb)+64(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, (_ldst-L21$pb)+64(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qux06:
-; DARWIN-64-STATIC: 	movl	_lsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], _ldst+64(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qux06:
-; DARWIN-64-DYNAMIC: 	movl	_lsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], _ldst+64(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: qux06:
-; DARWIN-64-PIC: 	movl	_lsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], _ldst+64(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 16), align 4
 	store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 16), align 4
@@ -1517,52 +1761,63 @@ entry:
 
 define void @qux07() nounwind {
 ; LINUX-64-STATIC-LABEL: qux07:
-; LINUX-64-STATIC: movq    $ldst+64, lptr
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $ldst+64, lptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: qux07:
-; LINUX-32-STATIC: 	movl	$ldst+64, lptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ldst+64, lptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qux07:
-; LINUX-32-PIC: 	movl	$ldst+64, lptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ldst+64, lptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qux07:
-; LINUX-64-PIC: 	leaq	ldst+64(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], lptr(%rip)
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qux07:
-; DARWIN-32-STATIC: 	movl	$_ldst+64, _lptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ldst+64, _lptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qux07:
-; DARWIN-32-DYNAMIC: 	movl	$_ldst+64, _lptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ldst+64, _lptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qux07:
-; DARWIN-32-PIC: 	calll	L22$pb
-; DARWIN-32-PIC-NEXT: L22$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ldst-L22$pb)+64([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _lptr-L22$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L22$pb
+; DARWIN-32-PIC-NEXT:  L22$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_ldst-L22$pb)+64(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _lptr-L22$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qux07:
-; DARWIN-64-STATIC: 	leaq	_ldst+64(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qux07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst+64(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: qux07:
-; DARWIN-64-PIC: 	leaq	_ldst+64(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	store i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 16), i32** @lptr, align 8
 	ret void
@@ -1570,67 +1825,78 @@ entry:
 
 define void @qux08() nounwind {
 ; LINUX-64-STATIC-LABEL: qux08:
-; LINUX-64-STATIC: movl    lsrc+64(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 64([[RCX]])
-; LINUX-64-STATIC: ret
-
+; 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 %eax, 64(%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: qux08:
-; LINUX-32-STATIC: 	movl	lsrc+64, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl lsrc+64, %eax
+; LINUX-32-STATIC-NEXT:    movl lptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, 64(%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: qux08:
-; LINUX-32-PIC: 	movl	lsrc+64, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl lsrc+64, %eax
+; LINUX-32-PIC-NEXT:    movl lptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, 64(%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: qux08:
-; LINUX-64-PIC: 	movl	lsrc+64(%rip), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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 %eax, 64(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: qux08:
-; DARWIN-32-STATIC: 	movl	_lsrc+64, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _lsrc+64, %eax
+; DARWIN-32-STATIC-NEXT:    movl _lptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, 64(%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: qux08:
-; DARWIN-32-DYNAMIC: 	movl	_lsrc+64, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc+64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, 64(%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: qux08:
-; DARWIN-32-PIC: 	calll	L23$pb
-; DARWIN-32-PIC-NEXT: L23$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_lsrc-L23$pb)+64([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lptr-L23$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], 64([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L23$pb
+; DARWIN-32-PIC-NEXT:  L23$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl (_lsrc-L23$pb)+64(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl _lptr-L23$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, 64(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: qux08:
-; DARWIN-64-STATIC: 	movl	_lsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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 %eax, 64(%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: qux08:
-; DARWIN-64-DYNAMIC: 	movl	_lsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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 %eax, 64(%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: qux08:
-; DARWIN-64-PIC: 	movl	_lsrc+64(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; 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 %eax, 64(%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @lptr, align 8
 	%1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 16), align 4
@@ -1641,74 +1907,85 @@ entry:
 
 define void @ind00(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ind00:
-; LINUX-64-STATIC: movl    src(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], dst(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: ind00:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	src(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], dst(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl src(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, dst(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ind00:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	src(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], dst(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl src(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, dst(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ind00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ind00:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_src(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _dst(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _src(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _dst(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ind00:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_src$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[ECX]],[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_dst$non_lazy_ptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%ecx,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ind00:
-; DARWIN-32-PIC: 	calll	L24$pb
-; DARWIN-32-PIC-NEXT: L24$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L24$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EDX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L24$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], ([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L24$pb
+; DARWIN-32-PIC-NEXT:  L24$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L24$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    movl (%edx,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L24$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, (%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ind00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ind00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ind00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %i
 	%1 = load i32, i32* %0, align 4
@@ -1719,74 +1996,85 @@ entry:
 
 define void @ixd00(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ixd00:
-; LINUX-64-STATIC: movl    xsrc(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], xdst(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: ixd00:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	xsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], xdst(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl xsrc(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, xdst(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ixd00:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	xsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], xdst(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl xsrc(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, xdst(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ixd00:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ixd00:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_xsrc(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _xdst(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _xsrc(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _xdst(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ixd00:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xsrc$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[ECX]],[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xdst$non_lazy_ptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%ecx,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ixd00:
-; DARWIN-32-PIC: 	calll	L25$pb
-; DARWIN-32-PIC-NEXT: L25$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L25$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EDX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L25$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], ([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L25$pb
+; DARWIN-32-PIC-NEXT:  L25$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L25$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    movl (%edx,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L25$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, (%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ixd00:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ixd00:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ixd00:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %i
 	%1 = load i32, i32* %0, align 4
@@ -1797,74 +2085,85 @@ entry:
 
 define void @ind01(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ind01:
-; LINUX-64-STATIC: leaq    dst(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], ptr
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: ind01:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	dst(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal dst(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ind01:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	dst(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal dst(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ind01:
-; LINUX-64-PIC: 	shlq	$2, %rdi
-; LINUX-64-PIC-NEXT: 	addq	dst at GOTPCREL(%rip), %rdi
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	%rdi, ([[RAX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    shlq $2, %rdi
+; LINUX-64-PIC-NEXT:    addq dst at GOTPCREL(%rip), %rdi
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq %rdi, (%rax)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ind01:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_dst(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _dst(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ind01:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	shll	$2, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	addl	L_dst$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    shll $2, %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl L_dst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ind01:
-; DARWIN-32-PIC: 	calll	L26$pb
-; DARWIN-32-PIC-NEXT: L26$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	shll	$2, [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	addl	L_dst$non_lazy_ptr-L26$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L26$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L26$pb
+; DARWIN-32-PIC-NEXT:  L26$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    shll $2, %ecx
+; DARWIN-32-PIC-NEXT:    addl L_dst$non_lazy_ptr-L26$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L26$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ind01:
-; DARWIN-64-STATIC: 	shlq	$2, %rdi
-; DARWIN-64-STATIC-NEXT: 	addq	_dst at GOTPCREL(%rip), %rdi
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	%rdi, ([[RAX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    shlq $2, %rdi
+; DARWIN-64-STATIC-NEXT:    addq _dst at GOTPCREL(%rip), %rdi
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movq %rdi, (%rax)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ind01:
-; DARWIN-64-DYNAMIC: 	shlq	$2, %rdi
-; DARWIN-64-DYNAMIC-NEXT: 	addq	_dst at GOTPCREL(%rip), %rdi
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	%rdi, ([[RAX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    shlq $2, %rdi
+; DARWIN-64-DYNAMIC-NEXT:    addq _dst at GOTPCREL(%rip), %rdi
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq %rdi, (%rax)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ind01:
-; DARWIN-64-PIC: 	shlq	$2, %rdi
-; DARWIN-64-PIC-NEXT: 	addq	_dst at GOTPCREL(%rip), %rdi
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	%rdi, ([[RAX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    shlq $2, %rdi
+; DARWIN-64-PIC-NEXT:    addq _dst at GOTPCREL(%rip), %rdi
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movq %rdi, (%rax)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %i
 	store i32* %0, i32** @ptr, align 8
@@ -1873,74 +2172,85 @@ entry:
 
 define void @ixd01(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ixd01:
-; LINUX-64-STATIC: leaq    xdst(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], ptr
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: ixd01:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	xdst(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal xdst(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ixd01:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	xdst(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal xdst(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ixd01:
-; LINUX-64-PIC: 	shlq	$2, %rdi
-; LINUX-64-PIC-NEXT: 	addq	xdst at GOTPCREL(%rip), %rdi
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	%rdi, ([[RAX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    shlq $2, %rdi
+; LINUX-64-PIC-NEXT:    addq xdst at GOTPCREL(%rip), %rdi
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq %rdi, (%rax)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ixd01:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_xdst(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _xdst(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ixd01:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	shll	$2, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	addl	L_xdst$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    shll $2, %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl L_xdst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ixd01:
-; DARWIN-32-PIC: 	calll	L27$pb
-; DARWIN-32-PIC-NEXT: L27$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	shll	$2, [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	addl	L_xdst$non_lazy_ptr-L27$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L27$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L27$pb
+; DARWIN-32-PIC-NEXT:  L27$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    shll $2, %ecx
+; DARWIN-32-PIC-NEXT:    addl L_xdst$non_lazy_ptr-L27$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L27$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ixd01:
-; DARWIN-64-STATIC: 	shlq	$2, %rdi
-; DARWIN-64-STATIC-NEXT: 	addq	_xdst at GOTPCREL(%rip), %rdi
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	%rdi, ([[RAX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    shlq $2, %rdi
+; DARWIN-64-STATIC-NEXT:    addq _xdst at GOTPCREL(%rip), %rdi
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movq %rdi, (%rax)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ixd01:
-; DARWIN-64-DYNAMIC: 	shlq	$2, %rdi
-; DARWIN-64-DYNAMIC-NEXT: 	addq	_xdst at GOTPCREL(%rip), %rdi
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	%rdi, ([[RAX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    shlq $2, %rdi
+; DARWIN-64-DYNAMIC-NEXT:    addq _xdst at GOTPCREL(%rip), %rdi
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq %rdi, (%rax)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ixd01:
-; DARWIN-64-PIC: 	shlq	$2, %rdi
-; DARWIN-64-PIC-NEXT: 	addq	_xdst at GOTPCREL(%rip), %rdi
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	%rdi, ([[RAX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    shlq $2, %rdi
+; DARWIN-64-PIC-NEXT:    addq _xdst at GOTPCREL(%rip), %rdi
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movq %rdi, (%rax)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = getelementptr [32 x i32], [32 x i32]* @xdst, i64 0, i64 %i
 	store i32* %0, i32** @ptr, align 8
@@ -1949,84 +2259,95 @@ entry:
 
 define void @ind02(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ind02:
-; LINUX-64-STATIC: movl    src(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    ptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: ind02:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	src(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl src(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl ptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ind02:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	src(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl src(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl ptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ind02:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ind02:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_src(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _src(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ind02:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_src$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[ECX]],[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EDX]]), [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%ecx,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%edx), %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ind02:
-; DARWIN-32-PIC: 	calll	L28$pb
-; DARWIN-32-PIC-NEXT: L28$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L28$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EDX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L28$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], ([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L28$pb
+; DARWIN-32-PIC-NEXT:  L28$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L28$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    movl (%edx,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L28$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, (%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ind02:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ind02:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ind02:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %i
@@ -2038,84 +2359,95 @@ entry:
 
 define void @ixd02(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ixd02:
-; LINUX-64-STATIC: movl    xsrc(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    ptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: ixd02:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	xsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl xsrc(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl ptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ixd02:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	xsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl xsrc(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl ptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ixd02:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ixd02:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_xsrc(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _xsrc(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ixd02:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xsrc$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[ECX]],[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EDX]]), [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%ecx,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%edx), %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ixd02:
-; DARWIN-32-PIC: 	calll	L29$pb
-; DARWIN-32-PIC-NEXT: L29$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L29$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EDX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L29$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], ([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L29$pb
+; DARWIN-32-PIC-NEXT:  L29$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L29$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    movl (%edx,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L29$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, (%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ixd02:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ixd02:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ixd02:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %i
@@ -2127,70 +2459,81 @@ entry:
 
 define void @ind03(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ind03:
-; LINUX-64-STATIC: movl    dsrc(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ddst(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl dsrc(,%rdi,4), %eax
+; LINUX-64-STATIC-NEXT:    movl %eax, ddst(,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: ind03:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], ddst(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl dsrc(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, ddst(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ind03:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], ddst(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl dsrc(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, ddst(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ind03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ddst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ind03:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dsrc(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _ddst(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _dsrc(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _ddst(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ind03:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dsrc(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], _ddst(,[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, _ddst(,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ind03:
-; DARWIN-32-PIC: 	calll	L30$pb
-; DARWIN-32-PIC-NEXT: L30$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dsrc-L30$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], _ddst-L30$pb([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L30$pb
+; DARWIN-32-PIC-NEXT:  L30$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl _dsrc-L30$pb(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl %edx, _ddst-L30$pb(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ind03:
-; DARWIN-64-STATIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	_ddst(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    leaq _ddst(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ind03:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	_ddst(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ind03:
-; DARWIN-64-PIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	_ddst(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    leaq _ddst(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %i
 	%1 = load i32, i32* %0, align 4
@@ -2201,67 +2544,78 @@ entry:
 
 define void @ind04(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ind04:
-; LINUX-64-STATIC: leaq    ddst(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], dptr
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: ind04:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	ddst(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], dptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal ddst(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, dptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ind04:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	ddst(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], dptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal ddst(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, dptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ind04:
-; LINUX-64-PIC: 	shlq	$2, %rdi
-; LINUX-64-PIC-NEXT: 	addq	ddst at GOTPCREL(%rip), %rdi
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	%rdi, ([[RAX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    shlq $2, %rdi
+; LINUX-64-PIC-NEXT:    addq ddst at GOTPCREL(%rip), %rdi
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq %rdi, (%rax)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ind04:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_ddst(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _dptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _ddst(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _dptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ind04:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_ddst(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _dptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _ddst(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _dptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ind04:
-; DARWIN-32-PIC: 	calll	L31$pb
-; DARWIN-32-PIC-NEXT: L31$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_ddst-L31$pb([[EAX]],[[ECX]],4), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _dptr-L31$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L31$pb
+; DARWIN-32-PIC-NEXT:  L31$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal _ddst-L31$pb(%eax,%ecx,4), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _dptr-L31$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ind04:
-; DARWIN-64-STATIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq (%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    movq %rax, _dptr(%rip)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ind04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq (%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, _dptr(%rip)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ind04:
-; DARWIN-64-PIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq (%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    movq %rax, _dptr(%rip)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %i
 	store i32* %0, i32** @dptr, align 8
@@ -2270,77 +2624,88 @@ entry:
 
 define void @ind05(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ind05:
-; LINUX-64-STATIC: movl    dsrc(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    dptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: ind05:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl dsrc(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl dptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ind05:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl dsrc(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl dptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ind05:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ind05:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dsrc(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _dsrc(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _dptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ind05:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dsrc(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl _dptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ind05:
-; DARWIN-32-PIC: 	calll	L32$pb
-; DARWIN-32-PIC-NEXT: L32$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dsrc-L32$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dptr-L32$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], ([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L32$pb
+; DARWIN-32-PIC-NEXT:  L32$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl _dsrc-L32$pb(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl _dptr-L32$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, (%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ind05:
-; DARWIN-64-STATIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _dptr(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ind05:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _dptr(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ind05:
-; DARWIN-64-PIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _dptr(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %i
@@ -2352,70 +2717,81 @@ entry:
 
 define void @ind06(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ind06:
-; LINUX-64-STATIC: movl    lsrc(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ldst(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl lsrc(,%rdi,4), %eax
+; LINUX-64-STATIC-NEXT:    movl %eax, ldst(,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: ind06:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], ldst(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl lsrc(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, ldst(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ind06:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], ldst(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl lsrc(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, ldst(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ind06:
-; LINUX-64-PIC: 	leaq	lsrc(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	leaq	ldst(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    leaq ldst(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ind06:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lsrc(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _ldst(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _lsrc(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _ldst(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ind06:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lsrc(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], _ldst(,[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, _ldst(,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ind06:
-; DARWIN-32-PIC: 	calll	L33$pb
-; DARWIN-32-PIC-NEXT: L33$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lsrc-L33$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], _ldst-L33$pb([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L33$pb
+; DARWIN-32-PIC-NEXT:  L33$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl _lsrc-L33$pb(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl %edx, _ldst-L33$pb(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ind06:
-; DARWIN-64-STATIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	_ldst(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    leaq _ldst(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ind06:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	_ldst(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ind06:
-; DARWIN-64-PIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	_ldst(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    leaq _ldst(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %i
 	%1 = load i32, i32* %0, align 4
@@ -2426,66 +2802,77 @@ entry:
 
 define void @ind07(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ind07:
-; LINUX-64-STATIC: leaq    ldst(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], lptr
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: ind07:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	ldst(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], lptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal ldst(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, lptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ind07:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	ldst(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], lptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal ldst(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, lptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ind07:
-; LINUX-64-PIC: 	leaq	ldst(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	([[RAX]],%rdi,4), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], lptr(%rip)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq ldst(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq (%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    movq %rax, lptr(%rip)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ind07:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_ldst(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _lptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _ldst(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _lptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ind07:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_ldst(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _lptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _ldst(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _lptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ind07:
-; DARWIN-32-PIC: 	calll	L34$pb
-; DARWIN-32-PIC-NEXT: L34$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_ldst-L34$pb([[EAX]],[[ECX]],4), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _lptr-L34$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L34$pb
+; DARWIN-32-PIC-NEXT:  L34$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal _ldst-L34$pb(%eax,%ecx,4), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _lptr-L34$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ind07:
-; DARWIN-64-STATIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq (%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    movq %rax, _lptr(%rip)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ind07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq (%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, _lptr(%rip)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ind07:
-; DARWIN-64-PIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq (%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    movq %rax, _lptr(%rip)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %i
 	store i32* %0, i32** @lptr, align 8
@@ -2494,76 +2881,87 @@ entry:
 
 define void @ind08(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: ind08:
-; LINUX-64-STATIC: movl    lsrc(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: ind08:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl lsrc(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl lptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ind08:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lsrc(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl lsrc(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl lptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ind08:
-; LINUX-64-PIC: 	leaq	lsrc(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq lptr(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ind08:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lsrc(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _lsrc(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _lptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ind08:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lsrc(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], ([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl _lptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, (%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ind08:
-; DARWIN-32-PIC: 	calll	L35$pb
-; DARWIN-32-PIC-NEXT: L35$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lsrc-L35$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lptr-L35$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], ([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L35$pb
+; DARWIN-32-PIC-NEXT:  L35$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl _lsrc-L35$pb(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl _lptr-L35$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, (%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ind08:
-; DARWIN-64-STATIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _lptr(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ind08:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _lptr(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ind08:
-; DARWIN-64-PIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], ([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl (%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _lptr(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, (%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @lptr, align 8
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %i
@@ -2575,74 +2973,85 @@ entry:
 
 define void @off00(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: off00:
-; LINUX-64-STATIC: movl    src+64(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], dst+64(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: off00:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	src+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], dst+64(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl src+64(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, dst+64(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: off00:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	src+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], dst+64(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl src+64(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, dst+64(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: off00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: off00:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_src+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _dst+64(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _src+64(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _dst+64(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: off00:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_src$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	64([[ECX]],[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_dst$non_lazy_ptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl 64(%ecx,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: off00:
-; DARWIN-32-PIC: 	calll	L36$pb
-; DARWIN-32-PIC-NEXT: L36$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L36$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	64([[EDX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L36$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], 64([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L36$pb
+; DARWIN-32-PIC-NEXT:  L36$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L36$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    movl 64(%edx,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L36$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, 64(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: off00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: off00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: off00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %0
@@ -2654,74 +3063,85 @@ entry:
 
 define void @oxf00(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: oxf00:
-; LINUX-64-STATIC: movl    xsrc+64(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], xdst+64(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: oxf00:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	xsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], xdst+64(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl xsrc+64(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, xdst+64(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: oxf00:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	xsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], xdst+64(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl xsrc+64(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, xdst+64(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: oxf00:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: oxf00:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_xsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _xdst+64(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _xsrc+64(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _xdst+64(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: oxf00:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xsrc$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	64([[ECX]],[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xdst$non_lazy_ptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl 64(%ecx,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: oxf00:
-; DARWIN-32-PIC: 	calll	L37$pb
-; DARWIN-32-PIC-NEXT: L37$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L37$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	64([[EDX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L37$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], 64([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L37$pb
+; DARWIN-32-PIC-NEXT:  L37$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L37$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    movl 64(%edx,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L37$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, 64(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: oxf00:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: oxf00:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: oxf00:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_xdst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %0
@@ -2733,74 +3153,85 @@ entry:
 
 define void @off01(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: off01:
-; LINUX-64-STATIC: leaq    dst+64(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], ptr
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: off01:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	dst+64(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal dst+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: off01:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	dst+64(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal dst+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: off01:
-; LINUX-64-PIC: 	movq	dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: off01:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_dst+64(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _dst+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: off01:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_dst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: off01:
-; DARWIN-32-PIC: 	calll	L38$pb
-; DARWIN-32-PIC-NEXT: L38$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L38$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	64([[EDX]],[[ECX]],4), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L38$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L38$pb
+; DARWIN-32-PIC-NEXT:  L38$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L38$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    leal 64(%edx,%ecx,4), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L38$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: off01:
-; DARWIN-64-STATIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: off01:
-; DARWIN-64-DYNAMIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: off01:
-; DARWIN-64-PIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%.sum = add i64 %i, 16
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %.sum
@@ -2810,74 +3241,85 @@ entry:
 
 define void @oxf01(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: oxf01:
-; LINUX-64-STATIC: leaq    xdst+64(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], ptr
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: oxf01:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	xdst+64(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal xdst+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: oxf01:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	xdst+64(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal xdst+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: oxf01:
-; LINUX-64-PIC: 	movq	xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: oxf01:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_xdst+64(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _xdst+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: oxf01:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xdst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: oxf01:
-; DARWIN-32-PIC: 	calll	L39$pb
-; DARWIN-32-PIC-NEXT: L39$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L39$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	64([[EDX]],[[ECX]],4), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L39$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L39$pb
+; DARWIN-32-PIC-NEXT:  L39$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L39$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    leal 64(%edx,%ecx,4), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L39$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: oxf01:
-; DARWIN-64-STATIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: oxf01:
-; DARWIN-64-DYNAMIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: oxf01:
-; DARWIN-64-PIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%.sum = add i64 %i, 16
 	%0 = getelementptr [32 x i32], [32 x i32]* @xdst, i64 0, i64 %.sum
@@ -2887,84 +3329,95 @@ entry:
 
 define void @off02(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: off02:
-; LINUX-64-STATIC: movl    src+64(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    ptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: off02:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	src+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl src+64(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl ptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: off02:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	src+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl src+64(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl ptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: off02:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: off02:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_src+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _src+64(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: off02:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_src$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	64([[ECX]],[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EDX]]), [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl 64(%ecx,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%edx), %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: off02:
-; DARWIN-32-PIC: 	calll	L40$pb
-; DARWIN-32-PIC-NEXT: L40$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L40$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	64([[EDX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L40$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], 64([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L40$pb
+; DARWIN-32-PIC-NEXT:  L40$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L40$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    movl 64(%edx,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L40$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, 64(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: off02:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: off02:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: off02:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = add i64 %i, 16
@@ -2977,84 +3430,95 @@ entry:
 
 define void @oxf02(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: oxf02:
-; LINUX-64-STATIC: movl    xsrc+64(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    ptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: oxf02:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	xsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl xsrc+64(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl ptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: oxf02:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	xsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl xsrc+64(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl ptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: oxf02:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: oxf02:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_xsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _xsrc+64(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: oxf02:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xsrc$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	64([[ECX]],[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EDX]]), [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl 64(%ecx,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%edx), %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: oxf02:
-; DARWIN-32-PIC: 	calll	L41$pb
-; DARWIN-32-PIC-NEXT: L41$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L41$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	64([[EDX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L41$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], 64([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L41$pb
+; DARWIN-32-PIC-NEXT:  L41$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L41$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    movl 64(%edx,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L41$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, 64(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: oxf02:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: oxf02:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: oxf02:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = add i64 %i, 16
@@ -3067,70 +3531,81 @@ entry:
 
 define void @off03(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: off03:
-; LINUX-64-STATIC: movl    dsrc+64(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ddst+64(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl dsrc+64(,%rdi,4), %eax
+; LINUX-64-STATIC-NEXT:    movl %eax, ddst+64(,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: off03:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], ddst+64(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl dsrc+64(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, ddst+64(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: off03:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], ddst+64(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl dsrc+64(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, ddst+64(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: off03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ddst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: off03:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _ddst+64(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _dsrc+64(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _ddst+64(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: off03:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], _ddst+64(,[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc+64(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, _ddst+64(,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: off03:
-; DARWIN-32-PIC: 	calll	L42$pb
-; DARWIN-32-PIC-NEXT: L42$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_dsrc-L42$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], (_ddst-L42$pb)+64([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L42$pb
+; DARWIN-32-PIC-NEXT:  L42$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl (_dsrc-L42$pb)+64(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl %edx, (_ddst-L42$pb)+64(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: off03:
-; DARWIN-64-STATIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	_ddst(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    leaq _ddst(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: off03:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	_ddst(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: off03:
-; DARWIN-64-PIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	_ddst(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    leaq _ddst(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %0
@@ -3142,67 +3617,78 @@ entry:
 
 define void @off04(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: off04:
-; LINUX-64-STATIC: leaq    ddst+64(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], dptr
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: off04:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	ddst+64(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], dptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal ddst+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, dptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: off04:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	ddst+64(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], dptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal ddst+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, dptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: off04:
-; LINUX-64-PIC: 	movq	ddst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: off04:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_ddst+64(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _dptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _ddst+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _dptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: off04:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_ddst+64(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _dptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _ddst+64(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _dptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: off04:
-; DARWIN-32-PIC: 	calll	L43$pb
-; DARWIN-32-PIC-NEXT: L43$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ddst-L43$pb)+64([[EAX]],[[ECX]],4), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _dptr-L43$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L43$pb
+; DARWIN-32-PIC-NEXT:  L43$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_ddst-L43$pb)+64(%eax,%ecx,4), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _dptr-L43$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: off04:
-; DARWIN-64-STATIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    movq %rax, _dptr(%rip)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: off04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, _dptr(%rip)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: off04:
-; DARWIN-64-PIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    movq %rax, _dptr(%rip)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%.sum = add i64 %i, 16
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %.sum
@@ -3212,77 +3698,88 @@ entry:
 
 define void @off05(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: off05:
-; LINUX-64-STATIC: movl    dsrc+64(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    dptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: off05:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl dsrc+64(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl dptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: off05:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl dsrc+64(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl dptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: off05:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: off05:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _dsrc+64(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _dptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: off05:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc+64(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl _dptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: off05:
-; DARWIN-32-PIC: 	calll	L44$pb
-; DARWIN-32-PIC-NEXT: L44$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_dsrc-L44$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dptr-L44$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], 64([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L44$pb
+; DARWIN-32-PIC-NEXT:  L44$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl (_dsrc-L44$pb)+64(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl _dptr-L44$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, 64(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: off05:
-; DARWIN-64-STATIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _dptr(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: off05:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _dptr(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: off05:
-; DARWIN-64-PIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _dptr(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = add i64 %i, 16
@@ -3295,70 +3792,81 @@ entry:
 
 define void @off06(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: off06:
-; LINUX-64-STATIC: movl    lsrc+64(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ldst+64(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl lsrc+64(,%rdi,4), %eax
+; LINUX-64-STATIC-NEXT:    movl %eax, ldst+64(,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: off06:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], ldst+64(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl lsrc+64(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, ldst+64(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: off06:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], ldst+64(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl lsrc+64(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, ldst+64(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: off06:
-; LINUX-64-PIC: 	leaq	lsrc(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	leaq	ldst(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    leaq ldst(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: off06:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _ldst+64(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _lsrc+64(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _ldst+64(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: off06:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], _ldst+64(,[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc+64(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, _ldst+64(,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: off06:
-; DARWIN-32-PIC: 	calll	L45$pb
-; DARWIN-32-PIC-NEXT: L45$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_lsrc-L45$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], (_ldst-L45$pb)+64([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L45$pb
+; DARWIN-32-PIC-NEXT:  L45$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl (_lsrc-L45$pb)+64(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl %edx, (_ldst-L45$pb)+64(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: off06:
-; DARWIN-64-STATIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	_ldst(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    leaq _ldst(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: off06:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	_ldst(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: off06:
-; DARWIN-64-PIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	_ldst(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    leaq _ldst(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %0
@@ -3370,66 +3878,77 @@ entry:
 
 define void @off07(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: off07:
-; LINUX-64-STATIC: leaq    ldst+64(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], lptr
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: off07:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	ldst+64(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], lptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal ldst+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, lptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: off07:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	ldst+64(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], lptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal ldst+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, lptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: off07:
-; LINUX-64-PIC: 	leaq	ldst(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], lptr(%rip)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq ldst(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    movq %rax, lptr(%rip)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: off07:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_ldst+64(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _lptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _ldst+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _lptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: off07:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_ldst+64(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _lptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _ldst+64(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _lptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: off07:
-; DARWIN-32-PIC: 	calll	L46$pb
-; DARWIN-32-PIC-NEXT: L46$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ldst-L46$pb)+64([[EAX]],[[ECX]],4), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _lptr-L46$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L46$pb
+; DARWIN-32-PIC-NEXT:  L46$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_ldst-L46$pb)+64(%eax,%ecx,4), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _lptr-L46$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: off07:
-; DARWIN-64-STATIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    movq %rax, _lptr(%rip)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: off07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, _lptr(%rip)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: off07:
-; DARWIN-64-PIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    movq %rax, _lptr(%rip)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%.sum = add i64 %i, 16
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %.sum
@@ -3439,76 +3958,87 @@ entry:
 
 define void @off08(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: off08:
-; LINUX-64-STATIC: movl    lsrc+64(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: off08:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl lsrc+64(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl lptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: off08:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl lsrc+64(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl lptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: off08:
-; LINUX-64-PIC: 	leaq	lsrc(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq lptr(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: off08:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _lsrc+64(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _lptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: off08:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lsrc+64(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], 64([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc+64(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl _lptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, 64(%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: off08:
-; DARWIN-32-PIC: 	calll	L47$pb
-; DARWIN-32-PIC-NEXT: L47$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_lsrc-L47$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lptr-L47$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], 64([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L47$pb
+; DARWIN-32-PIC-NEXT:  L47$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl (_lsrc-L47$pb)+64(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl _lptr-L47$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, 64(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: off08:
-; DARWIN-64-STATIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _lptr(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: off08:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _lptr(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: off08:
-; DARWIN-64-PIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	64([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 64([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 64(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _lptr(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 64(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @lptr, align 8
 	%1 = add i64 %i, 16
@@ -3521,69 +4051,80 @@ entry:
 
 define void @moo00(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: moo00:
-; LINUX-64-STATIC: movl    src+262144(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], dst+262144(%rip)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: moo00:
-; LINUX-32-STATIC: 	movl	src+262144, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], dst+262144
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl src+262144, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, dst+262144
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: moo00:
-; LINUX-32-PIC: 	movl	src+262144, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], dst+262144
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl src+262144, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, dst+262144
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: moo00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	262144([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 262144(%rax), %eax
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 262144(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: moo00:
-; DARWIN-32-STATIC: 	movl	_src+262144, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _dst+262144
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _src+262144, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _dst+262144
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: moo00:
-; DARWIN-32-DYNAMIC: 	movl	L_src$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	262144([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_dst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl 262144(%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, 262144(%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: moo00:
-; DARWIN-32-PIC: 	calll	L48$pb
-; DARWIN-32-PIC-NEXT: L48$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L48$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	262144([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L48$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], 262144([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L48$pb
+; DARWIN-32-PIC-NEXT:  L48$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L48$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl 262144(%ecx), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L48$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, 262144(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: moo00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	262144([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 262144(%rax), %eax
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 262144(%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: moo00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	262144([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 262144(%rax), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 262144(%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: moo00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	262144([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 262144(%rax), %eax
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 262144(%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 65536), align 4
 	store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 65536), align 4
@@ -3592,65 +4133,76 @@ entry:
 
 define void @moo01(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: moo01:
-; LINUX-64-STATIC: movq    $dst+262144, ptr(%rip)
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $dst+262144, ptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: moo01:
-; LINUX-32-STATIC: 	movl	$dst+262144, ptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dst+262144, ptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: moo01:
-; LINUX-32-PIC: 	movl	$dst+262144, ptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dst+262144, ptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: moo01:
-; LINUX-64-PIC: 	movl	$262144, [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	addq	dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-64-PIC-NEXT:    addq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: moo01:
-; DARWIN-32-STATIC: 	movl	$_dst+262144, _ptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dst+262144, _ptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: moo01:
-; DARWIN-32-DYNAMIC: 	movl	$262144, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	addl	L_dst$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-DYNAMIC-NEXT:    addl L_dst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: moo01:
-; DARWIN-32-PIC: 	calll	L49$pb
-; DARWIN-32-PIC-NEXT: L49$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	$262144, [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	addl	L_dst$non_lazy_ptr-L49$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L49$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L49$pb
+; DARWIN-32-PIC-NEXT:  L49$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl $262144, %ecx ## imm = 0x40000
+; DARWIN-32-PIC-NEXT:    addl L_dst$non_lazy_ptr-L49$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L49$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: moo01:
-; DARWIN-64-STATIC: 	movl	$262144, [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	addq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-STATIC-NEXT:    addq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: moo01:
-; DARWIN-64-DYNAMIC: 	movl	$262144, [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	addq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-DYNAMIC-NEXT:    addq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: moo01:
-; DARWIN-64-PIC: 	movl	$262144, [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	addq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-PIC-NEXT:    addq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	store i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 65536), i32** @ptr, align 8
 	ret void
@@ -3658,79 +4210,90 @@ entry:
 
 define void @moo02(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: moo02:
-; LINUX-64-STATIC: movl    src+262144(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    ptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 262144([[RCX]])
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, 262144(%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: moo02:
-; LINUX-32-STATIC: 	movl	src+262144, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl src+262144, %eax
+; LINUX-32-STATIC-NEXT:    movl ptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, 262144(%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: moo02:
-; LINUX-32-PIC: 	movl	src+262144, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl src+262144, %eax
+; LINUX-32-PIC-NEXT:    movl ptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, 262144(%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: moo02:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	262144([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 262144(%rax), %eax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 262144(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: moo02:
-; DARWIN-32-STATIC: 	movl	_src+262144, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _src+262144, %eax
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, 262144(%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: moo02:
-; DARWIN-32-DYNAMIC: 	movl	L_src$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	262144([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl 262144(%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%ecx), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, 262144(%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: moo02:
-; DARWIN-32-PIC: 	calll	L50$pb
-; DARWIN-32-PIC-NEXT: L50$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L50$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	262144([[ECX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L50$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], 262144([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L50$pb
+; DARWIN-32-PIC-NEXT:  L50$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L50$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl 262144(%ecx), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L50$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, 262144(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: moo02:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	262144([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 262144(%rax), %eax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 262144(%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: moo02:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	262144([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 262144(%rax), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 262144(%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: moo02:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	262144([[RAX]]), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 262144(%rax), %eax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 262144(%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 65536), align 4
@@ -3741,59 +4304,70 @@ entry:
 
 define void @moo03(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: moo03:
-; LINUX-64-STATIC: movl    dsrc+262144(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ddst+262144(%rip)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: moo03:
-; LINUX-32-STATIC: 	movl	dsrc+262144, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ddst+262144
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl dsrc+262144, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ddst+262144
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: moo03:
-; LINUX-32-PIC: 	movl	dsrc+262144, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ddst+262144
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl dsrc+262144, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ddst+262144
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: moo03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	262144([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ddst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 262144(%rax), %eax
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 262144(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: moo03:
-; DARWIN-32-STATIC: 	movl	_dsrc+262144, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ddst+262144
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _dsrc+262144, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ddst+262144
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: moo03:
-; DARWIN-32-DYNAMIC: 	movl	_dsrc+262144, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _ddst+262144
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc+262144, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _ddst+262144
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: moo03:
-; DARWIN-32-PIC: 	calll	L51$pb
-; DARWIN-32-PIC-NEXT: L51$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_dsrc-L51$pb)+262144([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], (_ddst-L51$pb)+262144([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L51$pb
+; DARWIN-32-PIC-NEXT:  L51$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl (_dsrc-L51$pb)+262144(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, (_ddst-L51$pb)+262144(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: moo03:
-; DARWIN-64-STATIC: 	movl	_dsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], _ddst+262144(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: moo03:
-; DARWIN-64-DYNAMIC: 	movl	_dsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], _ddst+262144(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: moo03:
-; DARWIN-64-PIC: 	movl	_dsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], _ddst+262144(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 65536), align 32
 	store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 65536), align 32
@@ -3802,54 +4376,65 @@ entry:
 
 define void @moo04(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: moo04:
-; LINUX-64-STATIC: movq    $ddst+262144, dptr
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $ddst+262144, dptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: moo04:
-; LINUX-32-STATIC: 	movl	$ddst+262144, dptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ddst+262144, dptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: moo04:
-; LINUX-32-PIC: 	movl	$ddst+262144, dptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ddst+262144, dptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: moo04:
-; LINUX-64-PIC: 	movl	$262144, [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	addq	ddst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-64-PIC-NEXT:    addq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: moo04:
-; DARWIN-32-STATIC: 	movl	$_ddst+262144, _dptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ddst+262144, _dptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: moo04:
-; DARWIN-32-DYNAMIC: 	movl	$_ddst+262144, _dptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ddst+262144, _dptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: moo04:
-; DARWIN-32-PIC: 	calll	L52$pb
-; DARWIN-32-PIC-NEXT: L52$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ddst-L52$pb)+262144([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _dptr-L52$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L52$pb
+; DARWIN-32-PIC-NEXT:  L52$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_ddst-L52$pb)+262144(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _dptr-L52$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: moo04:
-; DARWIN-64-STATIC: 	leaq	_ddst+262144(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: moo04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst+262144(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: moo04:
-; DARWIN-64-PIC: 	leaq	_ddst+262144(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	store i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 65536), i32** @dptr, align 8
 	ret void
@@ -3857,69 +4442,80 @@ entry:
 
 define void @moo05(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: moo05:
-; LINUX-64-STATIC: movl    dsrc+262144(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    dptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 262144([[RCX]])
-; LINUX-64-STATIC: ret
-
+; 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 %eax, 262144(%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: moo05:
-; LINUX-32-STATIC: 	movl	dsrc+262144, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl dsrc+262144, %eax
+; LINUX-32-STATIC-NEXT:    movl dptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, 262144(%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: moo05:
-; LINUX-32-PIC: 	movl	dsrc+262144, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl dsrc+262144, %eax
+; LINUX-32-PIC-NEXT:    movl dptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, 262144(%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: moo05:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	262144([[RAX]]), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 262144(%rax), %eax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 262144(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: moo05:
-; DARWIN-32-STATIC: 	movl	_dsrc+262144, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _dsrc+262144, %eax
+; DARWIN-32-STATIC-NEXT:    movl _dptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, 262144(%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: moo05:
-; DARWIN-32-DYNAMIC: 	movl	_dsrc+262144, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc+262144, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, 262144(%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: moo05:
-; DARWIN-32-PIC: 	calll	L53$pb
-; DARWIN-32-PIC-NEXT: L53$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_dsrc-L53$pb)+262144([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dptr-L53$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], 262144([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L53$pb
+; DARWIN-32-PIC-NEXT:  L53$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl (_dsrc-L53$pb)+262144(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl _dptr-L53$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, 262144(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: moo05:
-; DARWIN-64-STATIC: 	movl	_dsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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 %eax, 262144(%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: moo05:
-; DARWIN-64-DYNAMIC: 	movl	_dsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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 %eax, 262144(%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: moo05:
-; DARWIN-64-PIC: 	movl	_dsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; 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 %eax, 262144(%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 65536), align 32
@@ -3930,57 +4526,68 @@ entry:
 
 define void @moo06(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: moo06:
-; LINUX-64-STATIC: movl    lsrc+262144(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ldst+262144(%rip)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: moo06:
-; LINUX-32-STATIC: 	movl	lsrc+262144, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ldst+262144
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl lsrc+262144, %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ldst+262144
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: moo06:
-; LINUX-32-PIC: 	movl	lsrc+262144, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ldst+262144
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl lsrc+262144, %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ldst+262144
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: moo06:
-; LINUX-64-PIC: 	movl	lsrc+262144(%rip), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], ldst+262144(%rip)
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-32-STATIC-LABEL: moo06:
-; DARWIN-32-STATIC: 	movl	_lsrc+262144, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ldst+262144
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _lsrc+262144, %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ldst+262144
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: moo06:
-; DARWIN-32-DYNAMIC: 	movl	_lsrc+262144, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _ldst+262144
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc+262144, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _ldst+262144
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: moo06:
-; DARWIN-32-PIC: 	calll	L54$pb
-; DARWIN-32-PIC-NEXT: L54$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_lsrc-L54$pb)+262144([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], (_ldst-L54$pb)+262144([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L54$pb
+; DARWIN-32-PIC-NEXT:  L54$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl (_lsrc-L54$pb)+262144(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, (_ldst-L54$pb)+262144(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: moo06:
-; DARWIN-64-STATIC: 	movl	_lsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], _ldst+262144(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: moo06:
-; DARWIN-64-DYNAMIC: 	movl	_lsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], _ldst+262144(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: moo06:
-; DARWIN-64-PIC: 	movl	_lsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], _ldst+262144(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	%0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 65536), align 4
 	store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 65536), align 4
@@ -3989,52 +4596,63 @@ entry:
 
 define void @moo07(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: moo07:
-; LINUX-64-STATIC: movq    $ldst+262144, lptr
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq $ldst+262144, lptr(%rip)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: moo07:
-; LINUX-32-STATIC: 	movl	$ldst+262144, lptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ldst+262144, lptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: moo07:
-; LINUX-32-PIC: 	movl	$ldst+262144, lptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ldst+262144, lptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: moo07:
-; LINUX-64-PIC: 	leaq	ldst+262144(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], lptr(%rip)
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-32-STATIC-LABEL: moo07:
-; DARWIN-32-STATIC: 	movl	$_ldst+262144, _lptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ldst+262144, _lptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: moo07:
-; DARWIN-32-DYNAMIC: 	movl	$_ldst+262144, _lptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ldst+262144, _lptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: moo07:
-; DARWIN-32-PIC: 	calll	L55$pb
-; DARWIN-32-PIC-NEXT: L55$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ldst-L55$pb)+262144([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _lptr-L55$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L55$pb
+; DARWIN-32-PIC-NEXT:  L55$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_ldst-L55$pb)+262144(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _lptr-L55$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: moo07:
-; DARWIN-64-STATIC: 	leaq	_ldst+262144(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: moo07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst+262144(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: moo07:
-; DARWIN-64-PIC: 	leaq	_ldst+262144(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	store i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 65536), i32** @lptr, align 8
 	ret void
@@ -4042,67 +4660,78 @@ entry:
 
 define void @moo08(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: moo08:
-; LINUX-64-STATIC: movl    lsrc+262144(%rip), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 262144([[RCX]])
-; LINUX-64-STATIC: ret
-
+; 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 %eax, 262144(%rcx)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: moo08:
-; LINUX-32-STATIC: 	movl	lsrc+262144, [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl lsrc+262144, %eax
+; LINUX-32-STATIC-NEXT:    movl lptr, %ecx
+; LINUX-32-STATIC-NEXT:    movl %eax, 262144(%ecx)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: moo08:
-; LINUX-32-PIC: 	movl	lsrc+262144, [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl lsrc+262144, %eax
+; LINUX-32-PIC-NEXT:    movl lptr, %ecx
+; LINUX-32-PIC-NEXT:    movl %eax, 262144(%ecx)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: moo08:
-; LINUX-64-PIC: 	movl	lsrc+262144(%rip), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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 %eax, 262144(%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: moo08:
-; DARWIN-32-STATIC: 	movl	_lsrc+262144, [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _lsrc+262144, %eax
+; DARWIN-32-STATIC-NEXT:    movl _lptr, %ecx
+; DARWIN-32-STATIC-NEXT:    movl %eax, 262144(%ecx)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: moo08:
-; DARWIN-32-DYNAMIC: 	movl	_lsrc+262144, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc+262144, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, 262144(%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: moo08:
-; DARWIN-32-PIC: 	calll	L56$pb
-; DARWIN-32-PIC-NEXT: L56$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_lsrc-L56$pb)+262144([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lptr-L56$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], 262144([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L56$pb
+; DARWIN-32-PIC-NEXT:  L56$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl (_lsrc-L56$pb)+262144(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl _lptr-L56$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, 262144(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: moo08:
-; DARWIN-64-STATIC: 	movl	_lsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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 %eax, 262144(%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: moo08:
-; DARWIN-64-DYNAMIC: 	movl	_lsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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 %eax, 262144(%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: moo08:
-; DARWIN-64-PIC: 	movl	_lsrc+262144(%rip), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; 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 %eax, 262144(%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @lptr, align 8
 	%1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 65536), align 4
@@ -4113,74 +4742,85 @@ entry:
 
 define void @big00(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: big00:
-; LINUX-64-STATIC: movl    src+262144(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], dst+262144(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: big00:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	src+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], dst+262144(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl src+262144(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, dst+262144(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: big00:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	src+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], dst+262144(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl src+262144(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, dst+262144(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: big00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: big00:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_src+262144(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _dst+262144(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _src+262144(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _dst+262144(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: big00:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_src$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	262144([[ECX]],[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_dst$non_lazy_ptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl 262144(%ecx,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: big00:
-; DARWIN-32-PIC: 	calll	L57$pb
-; DARWIN-32-PIC-NEXT: L57$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L57$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	262144([[EDX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L57$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], 262144([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L57$pb
+; DARWIN-32-PIC-NEXT:  L57$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L57$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    movl 262144(%edx,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L57$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, 262144(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: big00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: big00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: big00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dst at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %0
@@ -4192,74 +4832,85 @@ entry:
 
 define void @big01(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: big01:
-; LINUX-64-STATIC: leaq    dst+262144(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], ptr(%rip)
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: big01:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	dst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], ptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal dst+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, ptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: big01:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	dst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], ptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal dst+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, ptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: big01:
-; LINUX-64-PIC: 	movq	dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: big01:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_dst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _ptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _dst+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _ptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: big01:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_dst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], ([[ECX]])
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, (%ecx)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: big01:
-; DARWIN-32-PIC: 	calll	L58$pb
-; DARWIN-32-PIC-NEXT: L58$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L58$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	262144([[EDX]],[[ECX]],4), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L58$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], ([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L58$pb
+; DARWIN-32-PIC-NEXT:  L58$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L58$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    leal 262144(%edx,%ecx,4), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L58$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %ecx, (%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: big01:
-; DARWIN-64-STATIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: big01:
-; DARWIN-64-DYNAMIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: big01:
-; DARWIN-64-PIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq %rax, (%rcx)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%.sum = add i64 %i, 65536
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %.sum
@@ -4269,84 +4920,95 @@ entry:
 
 define void @big02(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: big02:
-; LINUX-64-STATIC: movl    src+262144(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    ptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 262144([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, 262144(%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: big02:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	src+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl src+262144(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl ptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: big02:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	src+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl src+262144(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl ptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: big02:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: big02:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_src+262144(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _src+262144(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: big02:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_src$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	262144([[ECX]],[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ptr$non_lazy_ptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EDX]]), [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl 262144(%ecx,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl (%edx), %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: big02:
-; DARWIN-32-PIC: 	calll	L59$pb
-; DARWIN-32-PIC-NEXT: L59$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L59$pb([[EAX]]), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	262144([[EDX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L59$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], 262144([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L59$pb
+; DARWIN-32-PIC-NEXT:  L59$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L59$pb(%eax), %edx
+; DARWIN-32-PIC-NEXT:    movl 262144(%edx,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L59$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, 262144(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: big02:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: big02:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: big02:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movq (%rcx), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = add i64 %i, 65536
@@ -4359,70 +5021,81 @@ entry:
 
 define void @big03(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: big03:
-; LINUX-64-STATIC: movl    dsrc+262144(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ddst+262144(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl dsrc+262144(,%rdi,4), %eax
+; LINUX-64-STATIC-NEXT:    movl %eax, ddst+262144(,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: big03:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], ddst+262144(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl dsrc+262144(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, ddst+262144(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: big03:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], ddst+262144(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl dsrc+262144(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, ddst+262144(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: big03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	ddst at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: big03:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _ddst+262144(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _dsrc+262144(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _ddst+262144(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: big03:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], _ddst+262144(,[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc+262144(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, _ddst+262144(,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: big03:
-; DARWIN-32-PIC: 	calll	L60$pb
-; DARWIN-32-PIC-NEXT: L60$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_dsrc-L60$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], (_ddst-L60$pb)+262144([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L60$pb
+; DARWIN-32-PIC-NEXT:  L60$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl (_dsrc-L60$pb)+262144(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl %edx, (_ddst-L60$pb)+262144(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: big03:
-; DARWIN-64-STATIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	_ddst(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    leaq _ddst(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: big03:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	_ddst(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: big03:
-; DARWIN-64-PIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	_ddst(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    leaq _ddst(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %0
@@ -4434,67 +5107,78 @@ entry:
 
 define void @big04(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: big04:
-; LINUX-64-STATIC: leaq    ddst+262144(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], dptr
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: big04:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	ddst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], dptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal ddst+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, dptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: big04:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	ddst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], dptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal ddst+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, dptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: big04:
-; LINUX-64-PIC: 	movq	ddst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], ([[RCX]])
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq %rax, (%rcx)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: big04:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_ddst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _dptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _ddst+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _dptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: big04:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_ddst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _dptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _ddst+262144(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _dptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: big04:
-; DARWIN-32-PIC: 	calll	L61$pb
-; DARWIN-32-PIC-NEXT: L61$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ddst-L61$pb)+262144([[EAX]],[[ECX]],4), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _dptr-L61$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L61$pb
+; DARWIN-32-PIC-NEXT:  L61$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_ddst-L61$pb)+262144(%eax,%ecx,4), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _dptr-L61$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: big04:
-; DARWIN-64-STATIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    movq %rax, _dptr(%rip)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: big04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, _dptr(%rip)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: big04:
-; DARWIN-64-PIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _dptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    movq %rax, _dptr(%rip)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%.sum = add i64 %i, 65536
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %.sum
@@ -4504,77 +5188,88 @@ entry:
 
 define void @big05(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: big05:
-; LINUX-64-STATIC: movl    dsrc+262144(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    dptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 262144([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, 262144(%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: big05:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl dsrc+262144(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl dptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: big05:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl dsrc+262144(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl dptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: big05:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RCX]]), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movq (%rcx), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: big05:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _dsrc+262144(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _dptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: big05:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dsrc+262144(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl _dptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: big05:
-; DARWIN-32-PIC: 	calll	L62$pb
-; DARWIN-32-PIC-NEXT: L62$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_dsrc-L62$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dptr-L62$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], 262144([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L62$pb
+; DARWIN-32-PIC-NEXT:  L62$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl (_dsrc-L62$pb)+262144(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl _dptr-L62$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, 262144(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: big05:
-; DARWIN-64-STATIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _dptr(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: big05:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _dptr(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: big05:
-; DARWIN-64-PIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_dptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _dptr(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = add i64 %i, 65536
@@ -4587,70 +5282,81 @@ entry:
 
 define void @big06(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: big06:
-; LINUX-64-STATIC: movl    lsrc+262144(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movl    [[EAX]], ldst+262144(,%rdi,4)
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl lsrc+262144(,%rdi,4), %eax
+; LINUX-64-STATIC-NEXT:    movl %eax, ldst+262144(,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: big06:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], ldst+262144(,[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl lsrc+262144(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl %ecx, ldst+262144(,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: big06:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], ldst+262144(,[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl lsrc+262144(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl %ecx, ldst+262144(,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: big06:
-; LINUX-64-PIC: 	leaq	lsrc(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	leaq	ldst(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    leaq ldst(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: big06:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], _ldst+262144(,[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _lsrc+262144(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, _ldst+262144(,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: big06:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], _ldst+262144(,[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc+262144(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, _ldst+262144(,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: big06:
-; DARWIN-32-PIC: 	calll	L63$pb
-; DARWIN-32-PIC-NEXT: L63$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_lsrc-L63$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], (_ldst-L63$pb)+262144([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L63$pb
+; DARWIN-32-PIC-NEXT:  L63$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl (_lsrc-L63$pb)+262144(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl %edx, (_ldst-L63$pb)+262144(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: big06:
-; DARWIN-64-STATIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	_ldst(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    leaq _ldst(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: big06:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	_ldst(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: big06:
-; DARWIN-64-PIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	_ldst(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    leaq _ldst(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %0
@@ -4662,66 +5368,77 @@ entry:
 
 define void @big07(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: big07:
-; LINUX-64-STATIC: leaq    ldst+262144(,%rdi,4), [[RAX:%r.x]]
-; LINUX-64-STATIC: movq    [[RAX]], lptr
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: big07:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	ldst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[EAX]], lptr
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal ldst+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    movl %eax, lptr
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: big07:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	ldst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[EAX]], lptr
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal ldst+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    movl %eax, lptr
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: big07:
-; LINUX-64-PIC: 	leaq	ldst(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	[[RAX]], lptr(%rip)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq ldst(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    movq %rax, lptr(%rip)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: big07:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_ldst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[EAX]], _lptr
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _ldst+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    movl %eax, _lptr
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: big07:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_ldst+262144(,[[EAX]],4), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[EAX]], _lptr
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _ldst+262144(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl %eax, _lptr
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: big07:
-; DARWIN-32-PIC: 	calll	L64$pb
-; DARWIN-32-PIC-NEXT: L64$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ldst-L64$pb)+262144([[EAX]],[[ECX]],4), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[ECX]], _lptr-L64$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L64$pb
+; DARWIN-32-PIC-NEXT:  L64$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_ldst-L64$pb)+262144(%eax,%ecx,4), %ecx
+; DARWIN-32-PIC-NEXT:    movl %ecx, _lptr-L64$pb(%eax)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: big07:
-; DARWIN-64-STATIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    movq %rax, _lptr(%rip)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: big07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq %rax, _lptr(%rip)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: big07:
-; DARWIN-64-PIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	[[RAX]], _lptr(%rip)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    movq %rax, _lptr(%rip)
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%.sum = add i64 %i, 65536
 	%0 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %.sum
@@ -4731,76 +5448,86 @@ entry:
 
 define void @big08(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: big08:
-; LINUX-64-STATIC: movl    lsrc+262144(,%rdi,4), [[EAX:%e.x]]
-; LINUX-64-STATIC: movq    lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-STATIC: movl    [[EAX]], 262144([[RCX]],%rdi,4)
-; LINUX-64-STATIC: ret
-
+; 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:    movl %eax, 262144(%rcx,%rdi,4)
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: big08:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lptr, [[EDX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl lsrc+262144(,%eax,4), %ecx
+; LINUX-32-STATIC-NEXT:    movl lptr, %edx
+; LINUX-32-STATIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: big08:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lptr, [[EDX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl lsrc+262144(,%eax,4), %ecx
+; LINUX-32-PIC-NEXT:    movl lptr, %edx
+; LINUX-32-PIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: big08:
-; LINUX-64-PIC: 	leaq	lsrc(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; LINUX-64-PIC-NEXT: 	movq	lptr(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc(%rip), %rax
+; LINUX-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; LINUX-64-PIC-NEXT:    movq lptr(%rip), %rcx
+; LINUX-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: big08:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lptr, [[EDX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _lsrc+262144(,%eax,4), %ecx
+; DARWIN-32-STATIC-NEXT:    movl _lptr, %edx
+; DARWIN-32-STATIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: big08:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lsrc+262144(,[[EAX]],4), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lptr, [[EDX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	[[ECX]], 262144([[EDX]],[[EAX]],4)
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lsrc+262144(,%eax,4), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl _lptr, %edx
+; DARWIN-32-DYNAMIC-NEXT:    movl %ecx, 262144(%edx,%eax,4)
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: big08:
-; DARWIN-32-PIC: 	calll	L65$pb
-; DARWIN-32-PIC-NEXT: L65$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	(_lsrc-L65$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lptr-L65$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	[[EDX]], 262144([[EAX]],[[ECX]],4)
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L65$pb
+; DARWIN-32-PIC-NEXT:  L65$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl (_lsrc-L65$pb)+262144(%eax,%ecx,4), %edx
+; DARWIN-32-PIC-NEXT:    movl _lptr-L65$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl %edx, 262144(%eax,%ecx,4)
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: big08:
-; DARWIN-64-STATIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-STATIC-NEXT:    movq _lptr(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: big08:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-DYNAMIC-NEXT:    movq _lptr(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: big08:
-; DARWIN-64-PIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	262144([[RAX]],%rdi,4), [[EAX:%e.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_lptr(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movl	[[EAX]], 262144([[RCX]],%rdi,4)
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movl 262144(%rax,%rdi,4), %eax
+; DARWIN-64-PIC-NEXT:    movq _lptr(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    movl %eax, 262144(%rcx,%rdi,4)
+; DARWIN-64-PIC-NEXT:    retq
 
 entry:
 	%0 = load i32*, i32** @lptr, align 8
@@ -4814,47 +5541,57 @@ entry:
 
 define i8* @bar00() nounwind {
 ; LINUX-64-STATIC-LABEL: bar00:
-; LINUX-64-STATIC: movl    $src, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $src, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bar00:
-; LINUX-32-STATIC: 	movl	$src, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $src, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bar00:
-; LINUX-32-PIC: 	movl	$src, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $src, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bar00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bar00:
-; DARWIN-32-STATIC: 	movl	$_src, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_src, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bar00:
-; DARWIN-32-DYNAMIC: 	movl	L_src$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bar00:
-; DARWIN-32-PIC: 	calll	L66$pb
-; DARWIN-32-PIC-NEXT: L66$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L66$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L66$pb
+; DARWIN-32-PIC-NEXT:  L66$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L66$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bar00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bar00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bar00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
 
 entry:
 	ret i8* bitcast ([131072 x i32]* @src to i8*)
@@ -4862,47 +5599,57 @@ entry:
 
 define i8* @bxr00() nounwind {
 ; LINUX-64-STATIC-LABEL: bxr00:
-; LINUX-64-STATIC: movl    $xsrc, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $xsrc, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bxr00:
-; LINUX-32-STATIC: 	movl	$xsrc, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $xsrc, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bxr00:
-; LINUX-32-PIC: 	movl	$xsrc, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $xsrc, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bxr00:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bxr00:
-; DARWIN-32-STATIC: 	movl	$_xsrc, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_xsrc, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bxr00:
-; DARWIN-32-DYNAMIC: 	movl	L_xsrc$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bxr00:
-; DARWIN-32-PIC: 	calll	L67$pb
-; DARWIN-32-PIC-NEXT: L67$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L67$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L67$pb
+; DARWIN-32-PIC-NEXT:  L67$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L67$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bxr00:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bxr00:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bxr00:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
 
 entry:
 	ret i8* bitcast ([32 x i32]* @xsrc to i8*)
@@ -4910,47 +5657,57 @@ entry:
 
 define i8* @bar01() nounwind {
 ; LINUX-64-STATIC-LABEL: bar01:
-; LINUX-64-STATIC: movl    $dst, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $dst, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bar01:
-; LINUX-32-STATIC: 	movl	$dst, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dst, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bar01:
-; LINUX-32-PIC: 	movl	$dst, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dst, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bar01:
-; LINUX-64-PIC: 	movq	dst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bar01:
-; DARWIN-32-STATIC: 	movl	$_dst, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dst, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bar01:
-; DARWIN-32-DYNAMIC: 	movl	L_dst$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bar01:
-; DARWIN-32-PIC: 	calll	L68$pb
-; DARWIN-32-PIC-NEXT: L68$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L68$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L68$pb
+; DARWIN-32-PIC-NEXT:  L68$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L68$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bar01:
-; DARWIN-64-STATIC: 	movq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bar01:
-; DARWIN-64-DYNAMIC: 	movq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bar01:
-; DARWIN-64-PIC: 	movq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
 
 entry:
 	ret i8* bitcast ([131072 x i32]* @dst to i8*)
@@ -4958,47 +5715,57 @@ entry:
 
 define i8* @bxr01() nounwind {
 ; LINUX-64-STATIC-LABEL: bxr01:
-; LINUX-64-STATIC: movl    $xdst, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $xdst, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bxr01:
-; LINUX-32-STATIC: 	movl	$xdst, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $xdst, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bxr01:
-; LINUX-32-PIC: 	movl	$xdst, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $xdst, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bxr01:
-; LINUX-64-PIC: 	movq	xdst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bxr01:
-; DARWIN-32-STATIC: 	movl	$_xdst, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_xdst, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bxr01:
-; DARWIN-32-DYNAMIC: 	movl	L_xdst$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bxr01:
-; DARWIN-32-PIC: 	calll	L69$pb
-; DARWIN-32-PIC-NEXT: L69$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L69$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L69$pb
+; DARWIN-32-PIC-NEXT:  L69$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L69$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bxr01:
-; DARWIN-64-STATIC: 	movq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bxr01:
-; DARWIN-64-DYNAMIC: 	movq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bxr01:
-; DARWIN-64-PIC: 	movq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
 
 entry:
 	ret i8* bitcast ([32 x i32]* @xdst to i8*)
@@ -5006,570 +5773,702 @@ entry:
 
 define i8* @bar02() nounwind {
 ; LINUX-64-STATIC-LABEL: bar02:
-; LINUX-64-STATIC: movl    $ptr, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $ptr, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bar02:
-; LINUX-32-STATIC: 	movl	$ptr, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ptr, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bar02:
-; LINUX-32-PIC: 	movl	$ptr, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ptr, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bar02:
-; LINUX-64-PIC: 	movq	ptr at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bar02:
-; DARWIN-32-STATIC: 	movl	$_ptr, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ptr, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bar02:
-; DARWIN-32-DYNAMIC: 	movl	L_ptr$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bar02:
-; DARWIN-32-PIC: 	calll	L70$pb
-; DARWIN-32-PIC-NEXT: L70$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L70$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L70$pb
+; DARWIN-32-PIC-NEXT:  L70$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L70$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bar02:
-; DARWIN-64-STATIC: 	movq	_ptr at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bar02:
-; DARWIN-64-DYNAMIC: 	movq	_ptr at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bar02:
-; DARWIN-64-PIC: 	movq	_ptr at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32** @ptr to i8*)
 }
 
 define i8* @bar03() nounwind {
 ; LINUX-64-STATIC-LABEL: bar03:
-; LINUX-64-STATIC: movl    $dsrc, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $dsrc, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bar03:
-; LINUX-32-STATIC: 	movl	$dsrc, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dsrc, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bar03:
-; LINUX-32-PIC: 	movl	$dsrc, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dsrc, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bar03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bar03:
-; DARWIN-32-STATIC: 	movl	$_dsrc, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dsrc, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bar03:
-; DARWIN-32-DYNAMIC: 	movl	$_dsrc, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_dsrc, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bar03:
-; DARWIN-32-PIC: 	calll	L71$pb
-; DARWIN-32-PIC-NEXT: L71$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_dsrc-L71$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L71$pb
+; DARWIN-32-PIC-NEXT:  L71$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _dsrc-L71$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bar03:
-; DARWIN-64-STATIC: 	leaq	_dsrc(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bar03:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bar03:
-; DARWIN-64-PIC: 	leaq	_dsrc(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([131072 x i32]* @dsrc to i8*)
 }
 
 define i8* @bar04() nounwind {
 ; LINUX-64-STATIC-LABEL: bar04:
-; LINUX-64-STATIC: movl    $ddst, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $ddst, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bar04:
-; LINUX-32-STATIC: 	movl	$ddst, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ddst, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bar04:
-; LINUX-32-PIC: 	movl	$ddst, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ddst, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bar04:
-; LINUX-64-PIC: 	movq	ddst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bar04:
-; DARWIN-32-STATIC: 	movl	$_ddst, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ddst, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bar04:
-; DARWIN-32-DYNAMIC: 	movl	$_ddst, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ddst, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bar04:
-; DARWIN-32-PIC: 	calll	L72$pb
-; DARWIN-32-PIC-NEXT: L72$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_ddst-L72$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L72$pb
+; DARWIN-32-PIC-NEXT:  L72$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _ddst-L72$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bar04:
-; DARWIN-64-STATIC: 	leaq	_ddst(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bar04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bar04:
-; DARWIN-64-PIC: 	leaq	_ddst(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([131072 x i32]* @ddst to i8*)
 }
 
 define i8* @bar05() nounwind {
 ; LINUX-64-STATIC-LABEL: bar05:
-; LINUX-64-STATIC: movl    $dptr, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $dptr, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bar05:
-; LINUX-32-STATIC: 	movl	$dptr, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dptr, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bar05:
-; LINUX-32-PIC: 	movl	$dptr, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dptr, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bar05:
-; LINUX-64-PIC: 	movq	dptr at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bar05:
-; DARWIN-32-STATIC: 	movl	$_dptr, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dptr, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bar05:
-; DARWIN-32-DYNAMIC: 	movl	$_dptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_dptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bar05:
-; DARWIN-32-PIC: 	calll	L73$pb
-; DARWIN-32-PIC-NEXT: L73$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_dptr-L73$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L73$pb
+; DARWIN-32-PIC-NEXT:  L73$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _dptr-L73$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bar05:
-; DARWIN-64-STATIC: 	leaq	_dptr(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dptr(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bar05:
-; DARWIN-64-DYNAMIC: 	leaq	_dptr(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dptr(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bar05:
-; DARWIN-64-PIC: 	leaq	_dptr(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dptr(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32** @dptr to i8*)
 }
 
 define i8* @bar06() nounwind {
 ; LINUX-64-STATIC-LABEL: bar06:
-; LINUX-64-STATIC: movl    $lsrc, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $lsrc, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bar06:
-; LINUX-32-STATIC: 	movl	$lsrc, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $lsrc, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bar06:
-; LINUX-32-PIC: 	movl	$lsrc, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $lsrc, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bar06:
-; LINUX-64-PIC: 	leaq	lsrc(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bar06:
-; DARWIN-32-STATIC: 	movl	$_lsrc, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_lsrc, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bar06:
-; DARWIN-32-DYNAMIC: 	movl	$_lsrc, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_lsrc, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bar06:
-; DARWIN-32-PIC: 	calll	L74$pb
-; DARWIN-32-PIC-NEXT: L74$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_lsrc-L74$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L74$pb
+; DARWIN-32-PIC-NEXT:  L74$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _lsrc-L74$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bar06:
-; DARWIN-64-STATIC: 	leaq	_lsrc(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bar06:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bar06:
-; DARWIN-64-PIC: 	leaq	_lsrc(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([131072 x i32]* @lsrc to i8*)
 }
 
 define i8* @bar07() nounwind {
 ; LINUX-64-STATIC-LABEL: bar07:
-; LINUX-64-STATIC: movl    $ldst, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $ldst, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bar07:
-; LINUX-32-STATIC: 	movl	$ldst, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ldst, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bar07:
-; LINUX-32-PIC: 	movl	$ldst, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ldst, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bar07:
-; LINUX-64-PIC: 	leaq	ldst(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq ldst(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bar07:
-; DARWIN-32-STATIC: 	movl	$_ldst, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ldst, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bar07:
-; DARWIN-32-DYNAMIC: 	movl	$_ldst, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ldst, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bar07:
-; DARWIN-32-PIC: 	calll	L75$pb
-; DARWIN-32-PIC-NEXT: L75$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_ldst-L75$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L75$pb
+; DARWIN-32-PIC-NEXT:  L75$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _ldst-L75$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bar07:
-; DARWIN-64-STATIC: 	leaq	_ldst(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bar07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bar07:
-; DARWIN-64-PIC: 	leaq	_ldst(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([131072 x i32]* @ldst to i8*)
 }
 
 define i8* @bar08() nounwind {
 ; LINUX-64-STATIC-LABEL: bar08:
-; LINUX-64-STATIC: movl    $lptr, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $lptr, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bar08:
-; LINUX-32-STATIC: 	movl	$lptr, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $lptr, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bar08:
-; LINUX-32-PIC: 	movl	$lptr, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $lptr, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bar08:
-; LINUX-64-PIC: 	leaq	lptr(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lptr(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bar08:
-; DARWIN-32-STATIC: 	movl	$_lptr, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_lptr, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bar08:
-; DARWIN-32-DYNAMIC: 	movl	$_lptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_lptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bar08:
-; DARWIN-32-PIC: 	calll	L76$pb
-; DARWIN-32-PIC-NEXT: L76$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_lptr-L76$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L76$pb
+; DARWIN-32-PIC-NEXT:  L76$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _lptr-L76$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bar08:
-; DARWIN-64-STATIC: 	leaq	_lptr(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lptr(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bar08:
-; DARWIN-64-DYNAMIC: 	leaq	_lptr(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lptr(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bar08:
-; DARWIN-64-PIC: 	leaq	_lptr(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lptr(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32** @lptr to i8*)
 }
 
 define i8* @har00() nounwind {
 ; LINUX-64-STATIC-LABEL: har00:
-; LINUX-64-STATIC: movl    $src, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $src, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: har00:
-; LINUX-32-STATIC: 	movl	$src, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $src, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: har00:
-; LINUX-32-PIC: 	movl	$src, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $src, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: har00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: har00:
-; DARWIN-32-STATIC: 	movl	$_src, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_src, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: har00:
-; DARWIN-32-DYNAMIC: 	movl	L_src$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: har00:
-; DARWIN-32-PIC: 	calll	L77$pb
-; DARWIN-32-PIC-NEXT: L77$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L77$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L77$pb
+; DARWIN-32-PIC-NEXT:  L77$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L77$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: har00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: har00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: har00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([131072 x i32]* @src to i8*)
 }
 
 define i8* @hxr00() nounwind {
 ; LINUX-64-STATIC-LABEL: hxr00:
-; LINUX-64-STATIC: movl    $xsrc, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $xsrc, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: hxr00:
-; LINUX-32-STATIC: 	movl	$xsrc, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $xsrc, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: hxr00:
-; LINUX-32-PIC: 	movl	$xsrc, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $xsrc, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: hxr00:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: hxr00:
-; DARWIN-32-STATIC: 	movl	$_xsrc, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_xsrc, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: hxr00:
-; DARWIN-32-DYNAMIC: 	movl	L_xsrc$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: hxr00:
-; DARWIN-32-PIC: 	calll	L78$pb
-; DARWIN-32-PIC-NEXT: L78$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L78$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L78$pb
+; DARWIN-32-PIC-NEXT:  L78$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L78$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: hxr00:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: hxr00:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: hxr00:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([32 x i32]* @xsrc to i8*)
 }
 
 define i8* @har01() nounwind {
 ; LINUX-64-STATIC-LABEL: har01:
-; LINUX-64-STATIC: movl    $dst, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $dst, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: har01:
-; LINUX-32-STATIC: 	movl	$dst, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dst, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: har01:
-; LINUX-32-PIC: 	movl	$dst, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dst, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: har01:
-; LINUX-64-PIC: 	movq	dst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: har01:
-; DARWIN-32-STATIC: 	movl	$_dst, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dst, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: har01:
-; DARWIN-32-DYNAMIC: 	movl	L_dst$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: har01:
-; DARWIN-32-PIC: 	calll	L79$pb
-; DARWIN-32-PIC-NEXT: L79$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L79$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L79$pb
+; DARWIN-32-PIC-NEXT:  L79$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L79$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: har01:
-; DARWIN-64-STATIC: 	movq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: har01:
-; DARWIN-64-DYNAMIC: 	movq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: har01:
-; DARWIN-64-PIC: 	movq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([131072 x i32]* @dst to i8*)
 }
 
 define i8* @hxr01() nounwind {
 ; LINUX-64-STATIC-LABEL: hxr01:
-; LINUX-64-STATIC: movl    $xdst, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $xdst, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: hxr01:
-; LINUX-32-STATIC: 	movl	$xdst, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $xdst, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: hxr01:
-; LINUX-32-PIC: 	movl	$xdst, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $xdst, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: hxr01:
-; LINUX-64-PIC: 	movq	xdst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: hxr01:
-; DARWIN-32-STATIC: 	movl	$_xdst, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_xdst, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: hxr01:
-; DARWIN-32-DYNAMIC: 	movl	L_xdst$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: hxr01:
-; DARWIN-32-PIC: 	calll	L80$pb
-; DARWIN-32-PIC-NEXT: L80$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L80$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L80$pb
+; DARWIN-32-PIC-NEXT:  L80$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L80$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: hxr01:
-; DARWIN-64-STATIC: 	movq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: hxr01:
-; DARWIN-64-DYNAMIC: 	movq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: hxr01:
-; DARWIN-64-PIC: 	movq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([32 x i32]* @xdst to i8*)
 }
 
 define i8* @har02() nounwind {
 ; LINUX-64-STATIC-LABEL: har02:
-; LINUX-64-STATIC: movq    ptr(%rip), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq ptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: har02:
-; LINUX-32-STATIC: 	movl	ptr, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl ptr, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: har02:
-; LINUX-32-PIC: 	movl	ptr, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl ptr, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: har02:
-; LINUX-64-PIC: 	movq	ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RAX]]), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq (%rax), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: har02:
-; DARWIN-32-STATIC: 	movl	_ptr, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: har02:
-; DARWIN-32-DYNAMIC: 	movl	L_ptr$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EAX]]), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: har02:
-; DARWIN-32-PIC: 	calll	L81$pb
-; DARWIN-32-PIC-NEXT: L81$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L81$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L81$pb
+; DARWIN-32-PIC-NEXT:  L81$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L81$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: har02:
-; DARWIN-64-STATIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RAX]]), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: har02:
-; DARWIN-64-DYNAMIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RAX]]), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: har02:
-; DARWIN-64-PIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RAX]]), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = bitcast i32* %0 to i8*
@@ -5578,142 +6477,175 @@ entry:
 
 define i8* @har03() nounwind {
 ; LINUX-64-STATIC-LABEL: har03:
-; LINUX-64-STATIC: movl    $dsrc, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $dsrc, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: har03:
-; LINUX-32-STATIC: 	movl	$dsrc, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dsrc, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: har03:
-; LINUX-32-PIC: 	movl	$dsrc, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dsrc, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: har03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: har03:
-; DARWIN-32-STATIC: 	movl	$_dsrc, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dsrc, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: har03:
-; DARWIN-32-DYNAMIC: 	movl	$_dsrc, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_dsrc, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: har03:
-; DARWIN-32-PIC: 	calll	L82$pb
-; DARWIN-32-PIC-NEXT: L82$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_dsrc-L82$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L82$pb
+; DARWIN-32-PIC-NEXT:  L82$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _dsrc-L82$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: har03:
-; DARWIN-64-STATIC: 	leaq	_dsrc(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: har03:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: har03:
-; DARWIN-64-PIC: 	leaq	_dsrc(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([131072 x i32]* @dsrc to i8*)
 }
 
 define i8* @har04() nounwind {
 ; LINUX-64-STATIC-LABEL: har04:
-; LINUX-64-STATIC: movl    $ddst, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $ddst, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: har04:
-; LINUX-32-STATIC: 	movl	$ddst, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ddst, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: har04:
-; LINUX-32-PIC: 	movl	$ddst, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ddst, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: har04:
-; LINUX-64-PIC: 	movq	ddst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: har04:
-; DARWIN-32-STATIC: 	movl	$_ddst, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ddst, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: har04:
-; DARWIN-32-DYNAMIC: 	movl	$_ddst, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ddst, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: har04:
-; DARWIN-32-PIC: 	calll	L83$pb
-; DARWIN-32-PIC-NEXT: L83$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_ddst-L83$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L83$pb
+; DARWIN-32-PIC-NEXT:  L83$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _ddst-L83$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: har04:
-; DARWIN-64-STATIC: 	leaq	_ddst(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: har04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: har04:
-; DARWIN-64-PIC: 	leaq	_ddst(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([131072 x i32]* @ddst to i8*)
 }
 
 define i8* @har05() nounwind {
 ; LINUX-64-STATIC-LABEL: har05:
-; LINUX-64-STATIC: movq    dptr(%rip), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq dptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: har05:
-; LINUX-32-STATIC: 	movl	dptr, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl dptr, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: har05:
-; LINUX-32-PIC: 	movl	dptr, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl dptr, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: har05:
-; LINUX-64-PIC: 	movq	dptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RAX]]), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq (%rax), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: har05:
-; DARWIN-32-STATIC: 	movl	_dptr, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _dptr, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: har05:
-; DARWIN-32-DYNAMIC: 	movl	_dptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _dptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: har05:
-; DARWIN-32-PIC: 	calll	L84$pb
-; DARWIN-32-PIC-NEXT: L84$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dptr-L84$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L84$pb
+; DARWIN-32-PIC-NEXT:  L84$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl _dptr-L84$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: har05:
-; DARWIN-64-STATIC: 	movq	_dptr(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: har05:
-; DARWIN-64-DYNAMIC: 	movq	_dptr(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: har05:
-; DARWIN-64-PIC: 	movq	_dptr(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = bitcast i32* %0 to i8*
@@ -5722,141 +6654,174 @@ entry:
 
 define i8* @har06() nounwind {
 ; LINUX-64-STATIC-LABEL: har06:
-; LINUX-64-STATIC: movl    $lsrc, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $lsrc, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: har06:
-; LINUX-32-STATIC: 	movl	$lsrc, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $lsrc, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: har06:
-; LINUX-32-PIC: 	movl	$lsrc, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $lsrc, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: har06:
-; LINUX-64-PIC: 	leaq	lsrc(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: har06:
-; DARWIN-32-STATIC: 	movl	$_lsrc, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_lsrc, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: har06:
-; DARWIN-32-DYNAMIC: 	movl	$_lsrc, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_lsrc, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: har06:
-; DARWIN-32-PIC: 	calll	L85$pb
-; DARWIN-32-PIC-NEXT: L85$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_lsrc-L85$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L85$pb
+; DARWIN-32-PIC-NEXT:  L85$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _lsrc-L85$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: har06:
-; DARWIN-64-STATIC: 	leaq	_lsrc(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: har06:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: har06:
-; DARWIN-64-PIC: 	leaq	_lsrc(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([131072 x i32]* @lsrc to i8*)
 }
 
 define i8* @har07() nounwind {
 ; LINUX-64-STATIC-LABEL: har07:
-; LINUX-64-STATIC: movl    $ldst, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $ldst, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: har07:
-; LINUX-32-STATIC: 	movl	$ldst, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ldst, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: har07:
-; LINUX-32-PIC: 	movl	$ldst, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ldst, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: har07:
-; LINUX-64-PIC: 	leaq	ldst(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq ldst(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: har07:
-; DARWIN-32-STATIC: 	movl	$_ldst, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ldst, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: har07:
-; DARWIN-32-DYNAMIC: 	movl	$_ldst, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ldst, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: har07:
-; DARWIN-32-PIC: 	calll	L86$pb
-; DARWIN-32-PIC-NEXT: L86$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_ldst-L86$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L86$pb
+; DARWIN-32-PIC-NEXT:  L86$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _ldst-L86$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: har07:
-; DARWIN-64-STATIC: 	leaq	_ldst(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: har07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: har07:
-; DARWIN-64-PIC: 	leaq	_ldst(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast ([131072 x i32]* @ldst to i8*)
 }
 
 define i8* @har08() nounwind {
 ; LINUX-64-STATIC-LABEL: har08:
-; LINUX-64-STATIC: movq    lptr(%rip), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq lptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: har08:
-; LINUX-32-STATIC: 	movl	lptr, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl lptr, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: har08:
-; LINUX-32-PIC: 	movl	lptr, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl lptr, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: har08:
-; LINUX-64-PIC: 	movq	lptr(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq lptr(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: har08:
-; DARWIN-32-STATIC: 	movl	_lptr, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _lptr, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: har08:
-; DARWIN-32-DYNAMIC: 	movl	_lptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _lptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: har08:
-; DARWIN-32-PIC: 	calll	L87$pb
-; DARWIN-32-PIC-NEXT: L87$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lptr-L87$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L87$pb
+; DARWIN-32-PIC-NEXT:  L87$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl _lptr-L87$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: har08:
-; DARWIN-64-STATIC: 	movq	_lptr(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: har08:
-; DARWIN-64-DYNAMIC: 	movq	_lptr(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: har08:
-; DARWIN-64-PIC: 	movq	_lptr(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @lptr, align 8
 	%1 = bitcast i32* %0 to i8*
@@ -5865,275 +6830,330 @@ entry:
 
 define i8* @bat00() nounwind {
 ; LINUX-64-STATIC-LABEL: bat00:
-; LINUX-64-STATIC: movl    $src+64, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $src+64, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bat00:
-; LINUX-32-STATIC: 	movl	$src+64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $src+64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bat00:
-; LINUX-32-PIC: 	movl	$src+64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $src+64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bat00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	addq	$64, %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bat00:
-; DARWIN-32-STATIC: 	movl	$_src+64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_src+64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bat00:
-; DARWIN-32-DYNAMIC: 	movl	L_src$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl $64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bat00:
-; DARWIN-32-PIC: 	calll	L88$pb
-; DARWIN-32-PIC-NEXT: L88$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L88$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L88$pb
+; DARWIN-32-PIC-NEXT:  L88$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L88$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    addl $64, %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bat00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    addq $64, %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bat00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    addq $64, %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bat00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    addq $64, %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 16) to i8*)
 }
 
 define i8* @bxt00() nounwind {
 ; LINUX-64-STATIC-LABEL: bxt00:
-; LINUX-64-STATIC: movl    $xsrc+64, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $xsrc+64, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bxt00:
-; LINUX-32-STATIC: 	movl	$xsrc+64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $xsrc+64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bxt00:
-; LINUX-32-PIC: 	movl	$xsrc+64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $xsrc+64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bxt00:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	addq	$64, %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bxt00:
-; DARWIN-32-STATIC: 	movl	$_xsrc+64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_xsrc+64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bxt00:
-; DARWIN-32-DYNAMIC: 	movl	L_xsrc$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl $64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bxt00:
-; DARWIN-32-PIC: 	calll	L89$pb
-; DARWIN-32-PIC-NEXT: L89$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L89$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L89$pb
+; DARWIN-32-PIC-NEXT:  L89$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L89$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    addl $64, %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bxt00:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    addq $64, %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bxt00:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    addq $64, %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bxt00:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    addq $64, %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([32 x i32], [32 x i32]* @xsrc, i32 0, i64 16) to i8*)
 }
 
 define i8* @bat01() nounwind {
 ; LINUX-64-STATIC-LABEL: bat01:
-; LINUX-64-STATIC: movl    $dst+64, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $dst+64, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bat01:
-; LINUX-32-STATIC: 	movl	$dst+64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dst+64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bat01:
-; LINUX-32-PIC: 	movl	$dst+64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dst+64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bat01:
-; LINUX-64-PIC: 	movq	dst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	addq	$64, %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bat01:
-; DARWIN-32-STATIC: 	movl	$_dst+64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dst+64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bat01:
-; DARWIN-32-DYNAMIC: 	movl	L_dst$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl $64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bat01:
-; DARWIN-32-PIC: 	calll	L90$pb
-; DARWIN-32-PIC-NEXT: L90$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L90$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L90$pb
+; DARWIN-32-PIC-NEXT:  L90$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L90$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    addl $64, %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bat01:
-; DARWIN-64-STATIC: 	movq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    addq $64, %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bat01:
-; DARWIN-64-DYNAMIC: 	movq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    addq $64, %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bat01:
-; DARWIN-64-PIC: 	movq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    addq $64, %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 16) to i8*)
 }
 
 define i8* @bxt01() nounwind {
 ; LINUX-64-STATIC-LABEL: bxt01:
-; LINUX-64-STATIC: movl    $xdst+64, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $xdst+64, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bxt01:
-; LINUX-32-STATIC: 	movl	$xdst+64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $xdst+64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bxt01:
-; LINUX-32-PIC: 	movl	$xdst+64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $xdst+64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bxt01:
-; LINUX-64-PIC: 	movq	xdst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	addq	$64, %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bxt01:
-; DARWIN-32-STATIC: 	movl	$_xdst+64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_xdst+64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bxt01:
-; DARWIN-32-DYNAMIC: 	movl	L_xdst$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl $64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bxt01:
-; DARWIN-32-PIC: 	calll	L91$pb
-; DARWIN-32-PIC-NEXT: L91$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L91$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L91$pb
+; DARWIN-32-PIC-NEXT:  L91$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L91$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    addl $64, %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bxt01:
-; DARWIN-64-STATIC: 	movq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    addq $64, %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bxt01:
-; DARWIN-64-DYNAMIC: 	movq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    addq $64, %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bxt01:
-; DARWIN-64-PIC: 	movq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    addq $64, %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i64 16) to i8*)
 }
 
 define i8* @bat02() nounwind {
 ; LINUX-64-STATIC-LABEL: bat02:
-; LINUX-64-STATIC: movq    ptr(%rip), %rax
-; LINUX-64-STATIC: addq    $64, %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq ptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    addq $64, %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bat02:
-; LINUX-32-STATIC: 	movl	ptr, %eax
-; LINUX-32-STATIC-NEXT: 	addl	$64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl ptr, %eax
+; LINUX-32-STATIC-NEXT:    addl $64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bat02:
-; LINUX-32-PIC: 	movl	ptr, %eax
-; LINUX-32-PIC-NEXT: 	addl	$64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl ptr, %eax
+; LINUX-32-PIC-NEXT:    addl $64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bat02:
-; LINUX-64-PIC: 	movq	ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RAX]]), %rax
-; LINUX-64-PIC-NEXT: 	addq	$64, %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq (%rax), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bat02:
-; DARWIN-32-STATIC: 	movl	_ptr, %eax
-; DARWIN-32-STATIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %eax
+; DARWIN-32-STATIC-NEXT:    addl $64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bat02:
-; DARWIN-32-DYNAMIC: 	movl	L_ptr$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl $64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bat02:
-; DARWIN-32-PIC: 	calll	L92$pb
-; DARWIN-32-PIC-NEXT: L92$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L92$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L92$pb
+; DARWIN-32-PIC-NEXT:  L92$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L92$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    addl $64, %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bat02:
-; DARWIN-64-STATIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RAX]]), %rax
-; DARWIN-64-STATIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-STATIC-NEXT:    addq $64, %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bat02:
-; DARWIN-64-DYNAMIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-DYNAMIC-NEXT:    addq $64, %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bat02:
-; DARWIN-64-PIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RAX]]), %rax
-; DARWIN-64-PIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-PIC-NEXT:    addq $64, %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = getelementptr i32, i32* %0, i64 16
@@ -6143,154 +7163,187 @@ entry:
 
 define i8* @bat03() nounwind {
 ; LINUX-64-STATIC-LABEL: bat03:
-; LINUX-64-STATIC: movl    $dsrc+64, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $dsrc+64, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bat03:
-; LINUX-32-STATIC: 	movl	$dsrc+64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dsrc+64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bat03:
-; LINUX-32-PIC: 	movl	$dsrc+64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dsrc+64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bat03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	addq	$64, %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bat03:
-; DARWIN-32-STATIC: 	movl	$_dsrc+64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dsrc+64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bat03:
-; DARWIN-32-DYNAMIC: 	movl	$_dsrc+64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_dsrc+64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bat03:
-; DARWIN-32-PIC: 	calll	L93$pb
-; DARWIN-32-PIC-NEXT: L93$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_dsrc-L93$pb)+64([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L93$pb
+; DARWIN-32-PIC-NEXT:  L93$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_dsrc-L93$pb)+64(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bat03:
-; DARWIN-64-STATIC: 	leaq	_dsrc+64(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc+64(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bat03:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc+64(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc+64(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bat03:
-; DARWIN-64-PIC: 	leaq	_dsrc+64(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc+64(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 16) to i8*)
 }
 
 define i8* @bat04() nounwind {
 ; LINUX-64-STATIC-LABEL: bat04:
-; LINUX-64-STATIC: movl    $ddst+64, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $ddst+64, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bat04:
-; LINUX-32-STATIC: 	movl	$ddst+64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ddst+64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bat04:
-; LINUX-32-PIC: 	movl	$ddst+64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ddst+64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bat04:
-; LINUX-64-PIC: 	movq	ddst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	addq	$64, %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bat04:
-; DARWIN-32-STATIC: 	movl	$_ddst+64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ddst+64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bat04:
-; DARWIN-32-DYNAMIC: 	movl	$_ddst+64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ddst+64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bat04:
-; DARWIN-32-PIC: 	calll	L94$pb
-; DARWIN-32-PIC-NEXT: L94$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ddst-L94$pb)+64([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L94$pb
+; DARWIN-32-PIC-NEXT:  L94$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_ddst-L94$pb)+64(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bat04:
-; DARWIN-64-STATIC: 	leaq	_ddst+64(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ddst+64(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bat04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst+64(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst+64(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bat04:
-; DARWIN-64-PIC: 	leaq	_ddst+64(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ddst+64(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 16) to i8*)
 }
 
 define i8* @bat05() nounwind {
 ; LINUX-64-STATIC-LABEL: bat05:
-; LINUX-64-STATIC: movq    dptr(%rip), %rax
-; LINUX-64-STATIC: addq    $64, %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq dptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    addq $64, %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bat05:
-; LINUX-32-STATIC: 	movl	dptr, %eax
-; LINUX-32-STATIC-NEXT: 	addl	$64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl dptr, %eax
+; LINUX-32-STATIC-NEXT:    addl $64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bat05:
-; LINUX-32-PIC: 	movl	dptr, %eax
-; LINUX-32-PIC-NEXT: 	addl	$64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl dptr, %eax
+; LINUX-32-PIC-NEXT:    addl $64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bat05:
-; LINUX-64-PIC: 	movq	dptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RAX]]), %rax
-; LINUX-64-PIC-NEXT: 	addq	$64, %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq (%rax), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bat05:
-; DARWIN-32-STATIC: 	movl	_dptr, %eax
-; DARWIN-32-STATIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _dptr, %eax
+; DARWIN-32-STATIC-NEXT:    addl $64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bat05:
-; DARWIN-32-DYNAMIC: 	movl	_dptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _dptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl $64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bat05:
-; DARWIN-32-PIC: 	calll	L95$pb
-; DARWIN-32-PIC-NEXT: L95$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dptr-L95$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L95$pb
+; DARWIN-32-PIC-NEXT:  L95$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl _dptr-L95$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    addl $64, %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bat05:
-; DARWIN-64-STATIC: 	movq	_dptr(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    addq $64, %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bat05:
-; DARWIN-64-DYNAMIC: 	movq	_dptr(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    addq $64, %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bat05:
-; DARWIN-64-PIC: 	movq	_dptr(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-PIC-NEXT:    addq $64, %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = getelementptr i32, i32* %0, i64 16
@@ -6300,151 +7353,184 @@ entry:
 
 define i8* @bat06() nounwind {
 ; LINUX-64-STATIC-LABEL: bat06:
-; LINUX-64-STATIC: movl    $lsrc+64, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $lsrc+64, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bat06:
-; LINUX-32-STATIC: 	movl	$lsrc+64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $lsrc+64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bat06:
-; LINUX-32-PIC: 	movl	$lsrc+64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $lsrc+64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bat06:
-; LINUX-64-PIC: 	leaq	lsrc+64(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc+64(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bat06:
-; DARWIN-32-STATIC: 	movl	$_lsrc+64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_lsrc+64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bat06:
-; DARWIN-32-DYNAMIC: 	movl	$_lsrc+64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_lsrc+64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bat06:
-; DARWIN-32-PIC: 	calll	L96$pb
-; DARWIN-32-PIC-NEXT: L96$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_lsrc-L96$pb)+64([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L96$pb
+; DARWIN-32-PIC-NEXT:  L96$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_lsrc-L96$pb)+64(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bat06:
-; DARWIN-64-STATIC: 	leaq	_lsrc+64(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc+64(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bat06:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc+64(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc+64(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bat06:
-; DARWIN-64-PIC: 	leaq	_lsrc+64(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc+64(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 16) to i8*)
 }
 
 define i8* @bat07() nounwind {
 ; LINUX-64-STATIC-LABEL: bat07:
-; LINUX-64-STATIC: movl    $ldst+64, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $ldst+64, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bat07:
-; LINUX-32-STATIC: 	movl	$ldst+64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ldst+64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bat07:
-; LINUX-32-PIC: 	movl	$ldst+64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ldst+64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bat07:
-; LINUX-64-PIC: 	leaq	ldst+64(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq ldst+64(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bat07:
-; DARWIN-32-STATIC: 	movl	$_ldst+64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ldst+64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bat07:
-; DARWIN-32-DYNAMIC: 	movl	$_ldst+64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ldst+64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bat07:
-; DARWIN-32-PIC: 	calll	L97$pb
-; DARWIN-32-PIC-NEXT: L97$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ldst-L97$pb)+64([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L97$pb
+; DARWIN-32-PIC-NEXT:  L97$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_ldst-L97$pb)+64(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bat07:
-; DARWIN-64-STATIC: 	leaq	_ldst+64(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ldst+64(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bat07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst+64(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst+64(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bat07:
-; DARWIN-64-PIC: 	leaq	_ldst+64(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ldst+64(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 16) to i8*)
 }
 
 define i8* @bat08() nounwind {
 ; LINUX-64-STATIC-LABEL: bat08:
-; LINUX-64-STATIC: movq    lptr(%rip), %rax
-; LINUX-64-STATIC: addq    $64, %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq lptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    addq $64, %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bat08:
-; LINUX-32-STATIC: 	movl	lptr, %eax
-; LINUX-32-STATIC-NEXT: 	addl	$64, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl lptr, %eax
+; LINUX-32-STATIC-NEXT:    addl $64, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bat08:
-; LINUX-32-PIC: 	movl	lptr, %eax
-; LINUX-32-PIC-NEXT: 	addl	$64, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl lptr, %eax
+; LINUX-32-PIC-NEXT:    addl $64, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bat08:
-; LINUX-64-PIC: 	movq	lptr(%rip), %rax
-; LINUX-64-PIC-NEXT: 	addq	$64, %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq lptr(%rip), %rax
+; LINUX-64-PIC-NEXT:    addq $64, %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bat08:
-; DARWIN-32-STATIC: 	movl	_lptr, %eax
-; DARWIN-32-STATIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl _lptr, %eax
+; DARWIN-32-STATIC-NEXT:    addl $64, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bat08:
-; DARWIN-32-DYNAMIC: 	movl	_lptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl _lptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    addl $64, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bat08:
-; DARWIN-32-PIC: 	calll	L98$pb
-; DARWIN-32-PIC-NEXT: L98$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lptr-L98$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	addl	$64, %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L98$pb
+; DARWIN-32-PIC-NEXT:  L98$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl _lptr-L98$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    addl $64, %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bat08:
-; DARWIN-64-STATIC: 	movq	_lptr(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    addq $64, %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bat08:
-; DARWIN-64-DYNAMIC: 	movq	_lptr(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    addq $64, %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bat08:
-; DARWIN-64-PIC: 	movq	_lptr(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	addq	$64, %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-PIC-NEXT:    addq $64, %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @lptr, align 8
 	%1 = getelementptr i32, i32* %0, i64 16
@@ -6454,222 +7540,266 @@ entry:
 
 define i8* @bam00() nounwind {
 ; LINUX-64-STATIC-LABEL: bam00:
-; LINUX-64-STATIC: movl    $src+262144, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $src+262144, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bam00:
-; LINUX-32-STATIC: 	movl	$src+262144, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $src+262144, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bam00:
-; LINUX-32-PIC: 	movl	$src+262144, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $src+262144, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bam00:
-; LINUX-64-PIC: 	movl	$262144, %eax
-; LINUX-64-PIC-NEXT: 	addq	src at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-64-PIC-NEXT:    addq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bam00:
-; DARWIN-32-STATIC: 	movl	$_src+262144, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_src+262144, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bam00:
-; DARWIN-32-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	L_src$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-DYNAMIC-NEXT:    addl L_src$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bam00:
-; DARWIN-32-PIC: 	calll	L99$pb
-; DARWIN-32-PIC-NEXT: L99$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	$262144, %eax
-; DARWIN-32-PIC-NEXT: 	addl	L_src$non_lazy_ptr-L99$pb([[ECX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L99$pb
+; DARWIN-32-PIC-NEXT:  L99$pb:
+; DARWIN-32-PIC-NEXT:    popl %ecx
+; DARWIN-32-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-PIC-NEXT:    addl L_src$non_lazy_ptr-L99$pb(%ecx), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bam00:
-; DARWIN-64-STATIC: 	movl	$262144, %eax
-; DARWIN-64-STATIC-NEXT: 	addq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-STATIC-NEXT:    addq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bam00:
-; DARWIN-64-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-DYNAMIC-NEXT:    addq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bam00:
-; DARWIN-64-PIC: 	movl	$262144, %eax
-; DARWIN-64-PIC-NEXT: 	addq	_src at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-PIC-NEXT:    addq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 65536) to i8*)
 }
 
 define i8* @bam01() nounwind {
 ; LINUX-64-STATIC-LABEL: bam01:
-; LINUX-64-STATIC: movl    $dst+262144, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $dst+262144, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bam01:
-; LINUX-32-STATIC: 	movl	$dst+262144, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dst+262144, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bam01:
-; LINUX-32-PIC: 	movl	$dst+262144, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dst+262144, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bam01:
-; LINUX-64-PIC: 	movl	$262144, %eax
-; LINUX-64-PIC-NEXT: 	addq	dst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-64-PIC-NEXT:    addq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bam01:
-; DARWIN-32-STATIC: 	movl	$_dst+262144, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dst+262144, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bam01:
-; DARWIN-32-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	L_dst$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-DYNAMIC-NEXT:    addl L_dst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bam01:
-; DARWIN-32-PIC: 	calll	L100$pb
-; DARWIN-32-PIC-NEXT: L100$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	$262144, %eax
-; DARWIN-32-PIC-NEXT: 	addl	L_dst$non_lazy_ptr-L100$pb([[ECX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L100$pb
+; DARWIN-32-PIC-NEXT:  L100$pb:
+; DARWIN-32-PIC-NEXT:    popl %ecx
+; DARWIN-32-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-PIC-NEXT:    addl L_dst$non_lazy_ptr-L100$pb(%ecx), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bam01:
-; DARWIN-64-STATIC: 	movl	$262144, %eax
-; DARWIN-64-STATIC-NEXT: 	addq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-STATIC-NEXT:    addq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bam01:
-; DARWIN-64-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-DYNAMIC-NEXT:    addq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bam01:
-; DARWIN-64-PIC: 	movl	$262144, %eax
-; DARWIN-64-PIC-NEXT: 	addq	_dst at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-PIC-NEXT:    addq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 65536) to i8*)
 }
 
 define i8* @bxm01() nounwind {
 ; LINUX-64-STATIC-LABEL: bxm01:
-; LINUX-64-STATIC: movl    $xdst+262144, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $xdst+262144, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bxm01:
-; LINUX-32-STATIC: 	movl	$xdst+262144, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $xdst+262144, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bxm01:
-; LINUX-32-PIC: 	movl	$xdst+262144, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $xdst+262144, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bxm01:
-; LINUX-64-PIC: 	movl	$262144, %eax
-; LINUX-64-PIC-NEXT: 	addq	xdst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-64-PIC-NEXT:    addq xdst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bxm01:
-; DARWIN-32-STATIC: 	movl	$_xdst+262144, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_xdst+262144, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bxm01:
-; DARWIN-32-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	L_xdst$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-DYNAMIC-NEXT:    addl L_xdst$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bxm01:
-; DARWIN-32-PIC: 	calll	L101$pb
-; DARWIN-32-PIC-NEXT: L101$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	$262144, %eax
-; DARWIN-32-PIC-NEXT: 	addl	L_xdst$non_lazy_ptr-L101$pb([[ECX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L101$pb
+; DARWIN-32-PIC-NEXT:  L101$pb:
+; DARWIN-32-PIC-NEXT:    popl %ecx
+; DARWIN-32-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-PIC-NEXT:    addl L_xdst$non_lazy_ptr-L101$pb(%ecx), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bxm01:
-; DARWIN-64-STATIC: 	movl	$262144, %eax
-; DARWIN-64-STATIC-NEXT: 	addq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-STATIC-NEXT:    addq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bxm01:
-; DARWIN-64-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-DYNAMIC-NEXT:    addq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bxm01:
-; DARWIN-64-PIC: 	movl	$262144, %eax
-; DARWIN-64-PIC-NEXT: 	addq	_xdst at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-PIC-NEXT:    addq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i64 65536) to i8*)
 }
 
 define i8* @bam02() nounwind {
 ; LINUX-64-STATIC-LABEL: bam02:
-; LINUX-64-STATIC: movl    $262144, %eax
-; LINUX-64-STATIC: addq    ptr(%rip), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-64-STATIC-NEXT:    addq ptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bam02:
-; LINUX-32-STATIC: 	movl	$262144, %eax
-; LINUX-32-STATIC-NEXT: 	addl	ptr, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-32-STATIC-NEXT:    addl ptr, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bam02:
-; LINUX-32-PIC: 	movl	$262144, %eax
-; LINUX-32-PIC-NEXT: 	addl	ptr, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-32-PIC-NEXT:    addl ptr, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bam02:
-; LINUX-64-PIC: 	movl	$262144, %eax
-; LINUX-64-PIC-NEXT: 	movq	ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	addq	([[RCX]]), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    addq (%rcx), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bam02:
-; DARWIN-32-STATIC: 	movl	$262144, %eax
-; DARWIN-32-STATIC-NEXT: 	addl	_ptr, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-STATIC-NEXT:    addl _ptr, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bam02:
-; DARWIN-32-DYNAMIC: 	movl	L_ptr$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	$262144, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	([[ECX]]), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-DYNAMIC-NEXT:    addl (%ecx), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bam02:
-; DARWIN-32-PIC: 	calll	L102$pb
-; DARWIN-32-PIC-NEXT: L102$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L102$pb([[EAX]]), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	$262144, %eax
-; DARWIN-32-PIC-NEXT: 	addl	([[ECX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L102$pb
+; DARWIN-32-PIC-NEXT:  L102$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L102$pb(%eax), %ecx
+; DARWIN-32-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-PIC-NEXT:    addl (%ecx), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bam02:
-; DARWIN-64-STATIC: 	movl	$262144, %eax
-; DARWIN-64-STATIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	addq	([[RCX]]), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-STATIC-NEXT:    addq (%rcx), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bam02:
-; DARWIN-64-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	addq	([[RCX]]), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-DYNAMIC-NEXT:    addq (%rcx), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bam02:
-; DARWIN-64-PIC: 	movl	$262144, %eax
-; DARWIN-64-PIC-NEXT: 	movq	_ptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	addq	([[RCX]]), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rcx
+; DARWIN-64-PIC-NEXT:    addq (%rcx), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = getelementptr i32, i32* %0, i64 65536
@@ -6679,154 +7809,187 @@ entry:
 
 define i8* @bam03() nounwind {
 ; LINUX-64-STATIC-LABEL: bam03:
-; LINUX-64-STATIC: movl    $dsrc+262144, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $dsrc+262144, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bam03:
-; LINUX-32-STATIC: 	movl	$dsrc+262144, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dsrc+262144, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bam03:
-; LINUX-32-PIC: 	movl	$dsrc+262144, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dsrc+262144, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bam03:
-; LINUX-64-PIC: 	movl	$262144, %eax
-; LINUX-64-PIC-NEXT: 	addq	dsrc at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-64-PIC-NEXT:    addq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bam03:
-; DARWIN-32-STATIC: 	movl	$_dsrc+262144, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dsrc+262144, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bam03:
-; DARWIN-32-DYNAMIC: 	movl	$_dsrc+262144, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_dsrc+262144, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bam03:
-; DARWIN-32-PIC: 	calll	L103$pb
-; DARWIN-32-PIC-NEXT: L103$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_dsrc-L103$pb)+262144([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L103$pb
+; DARWIN-32-PIC-NEXT:  L103$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_dsrc-L103$pb)+262144(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bam03:
-; DARWIN-64-STATIC: 	leaq	_dsrc+262144(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc+262144(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bam03:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc+262144(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc+262144(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bam03:
-; DARWIN-64-PIC: 	leaq	_dsrc+262144(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc+262144(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 65536) to i8*)
 }
 
 define i8* @bam04() nounwind {
 ; LINUX-64-STATIC-LABEL: bam04:
-; LINUX-64-STATIC: movl    $ddst+262144, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $ddst+262144, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bam04:
-; LINUX-32-STATIC: 	movl	$ddst+262144, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ddst+262144, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bam04:
-; LINUX-32-PIC: 	movl	$ddst+262144, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ddst+262144, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bam04:
-; LINUX-64-PIC: 	movl	$262144, %eax
-; LINUX-64-PIC-NEXT: 	addq	ddst at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-64-PIC-NEXT:    addq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bam04:
-; DARWIN-32-STATIC: 	movl	$_ddst+262144, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ddst+262144, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bam04:
-; DARWIN-32-DYNAMIC: 	movl	$_ddst+262144, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ddst+262144, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bam04:
-; DARWIN-32-PIC: 	calll	L104$pb
-; DARWIN-32-PIC-NEXT: L104$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ddst-L104$pb)+262144([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L104$pb
+; DARWIN-32-PIC-NEXT:  L104$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_ddst-L104$pb)+262144(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bam04:
-; DARWIN-64-STATIC: 	leaq	_ddst+262144(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ddst+262144(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bam04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst+262144(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst+262144(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bam04:
-; DARWIN-64-PIC: 	leaq	_ddst+262144(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ddst+262144(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 65536) to i8*)
 }
 
 define i8* @bam05() nounwind {
 ; LINUX-64-STATIC-LABEL: bam05:
-; LINUX-64-STATIC: movl    $262144, %eax
-; LINUX-64-STATIC: addq    dptr(%rip), %rax
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: bam05:
-; LINUX-32-STATIC: 	movl	$262144, %eax
-; LINUX-32-STATIC-NEXT: 	addl	dptr, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-32-STATIC-NEXT:    addl dptr, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bam05:
-; LINUX-32-PIC: 	movl	$262144, %eax
-; LINUX-32-PIC-NEXT: 	addl	dptr, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-32-PIC-NEXT:    addl dptr, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bam05:
-; LINUX-64-PIC: 	movl	$262144, %eax
-; LINUX-64-PIC-NEXT: 	movq	dptr at GOTPCREL(%rip), [[RCX:%r.x]]
-; LINUX-64-PIC-NEXT: 	addq	([[RCX]]), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rcx
+; LINUX-64-PIC-NEXT:    addq (%rcx), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bam05:
-; DARWIN-32-STATIC: 	movl	$262144, %eax
-; DARWIN-32-STATIC-NEXT: 	addl	_dptr, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-STATIC-NEXT:    addl _dptr, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bam05:
-; DARWIN-32-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	_dptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-DYNAMIC-NEXT:    addl _dptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bam05:
-; DARWIN-32-PIC: 	calll	L105$pb
-; DARWIN-32-PIC-NEXT: L105$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	$262144, %eax
-; DARWIN-32-PIC-NEXT: 	addl	_dptr-L105$pb([[ECX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L105$pb
+; DARWIN-32-PIC-NEXT:  L105$pb:
+; DARWIN-32-PIC-NEXT:    popl %ecx
+; DARWIN-32-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-PIC-NEXT:    addl _dptr-L105$pb(%ecx), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bam05:
-; DARWIN-64-STATIC: 	movl	$262144, %eax
-; DARWIN-64-STATIC-NEXT: 	addq	_dptr(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bam05:
-; DARWIN-64-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	_dptr(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: bam05:
-; DARWIN-64-PIC: 	movl	$262144, %eax
-; DARWIN-64-PIC-NEXT: 	addq	_dptr(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = getelementptr i32, i32* %0, i64 65536
@@ -6836,151 +7999,184 @@ entry:
 
 define i8* @bam06() nounwind {
 ; LINUX-64-STATIC-LABEL: bam06:
-; LINUX-64-STATIC: movl    $lsrc+262144, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $lsrc+262144, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bam06:
-; LINUX-32-STATIC: 	movl	$lsrc+262144, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $lsrc+262144, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bam06:
-; LINUX-32-PIC: 	movl	$lsrc+262144, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $lsrc+262144, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bam06:
-; LINUX-64-PIC: 	leaq	lsrc+262144(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc+262144(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bam06:
-; DARWIN-32-STATIC: 	movl	$_lsrc+262144, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_lsrc+262144, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bam06:
-; DARWIN-32-DYNAMIC: 	movl	$_lsrc+262144, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_lsrc+262144, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bam06:
-; DARWIN-32-PIC: 	calll	L106$pb
-; DARWIN-32-PIC-NEXT: L106$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_lsrc-L106$pb)+262144([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L106$pb
+; DARWIN-32-PIC-NEXT:  L106$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_lsrc-L106$pb)+262144(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bam06:
-; DARWIN-64-STATIC: 	leaq	_lsrc+262144(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc+262144(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bam06:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc+262144(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc+262144(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bam06:
-; DARWIN-64-PIC: 	leaq	_lsrc+262144(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc+262144(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 65536) to i8*)
 }
 
 define i8* @bam07() nounwind {
 ; LINUX-64-STATIC-LABEL: bam07:
-; LINUX-64-STATIC: movl    $ldst+262144, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $ldst+262144, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: bam07:
-; LINUX-32-STATIC: 	movl	$ldst+262144, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $ldst+262144, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bam07:
-; LINUX-32-PIC: 	movl	$ldst+262144, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $ldst+262144, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bam07:
-; LINUX-64-PIC: 	leaq	ldst+262144(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq ldst+262144(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bam07:
-; DARWIN-32-STATIC: 	movl	$_ldst+262144, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_ldst+262144, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bam07:
-; DARWIN-32-DYNAMIC: 	movl	$_ldst+262144, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_ldst+262144, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bam07:
-; DARWIN-32-PIC: 	calll	L107$pb
-; DARWIN-32-PIC-NEXT: L107$pb:
-; DARWIN-32-PIC-NEXT: 	popl	%eax
-; DARWIN-32-PIC-NEXT: 	leal	(_ldst-L107$pb)+262144([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L107$pb
+; DARWIN-32-PIC-NEXT:  L107$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal (_ldst-L107$pb)+262144(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bam07:
-; DARWIN-64-STATIC: 	leaq	_ldst+262144(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ldst+262144(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bam07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst+262144(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst+262144(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: bam07:
-; DARWIN-64-PIC: 	leaq	_ldst+262144(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ldst+262144(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 65536) to i8*)
 }
 
 define i8* @bam08() nounwind {
 ; LINUX-64-STATIC-LABEL: bam08:
-; LINUX-64-STATIC: movl    $262144, %eax
-; LINUX-64-STATIC: addq    lptr(%rip), %rax
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: bam08:
-; LINUX-32-STATIC: 	movl	$262144, %eax
-; LINUX-32-STATIC-NEXT: 	addl	lptr, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-32-STATIC-NEXT:    addl lptr, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: bam08:
-; LINUX-32-PIC: 	movl	$262144, %eax
-; LINUX-32-PIC-NEXT: 	addl	lptr, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $262144, %eax # imm = 0x40000
+; LINUX-32-PIC-NEXT:    addl lptr, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: bam08:
-; LINUX-64-PIC: 	movl	$262144, %eax
-; LINUX-64-PIC-NEXT: 	addq	lptr(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-32-STATIC-LABEL: bam08:
-; DARWIN-32-STATIC: 	movl	$262144, %eax
-; DARWIN-32-STATIC-NEXT: 	addl	_lptr, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-STATIC-NEXT:    addl _lptr, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: bam08:
-; DARWIN-32-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	addl	_lptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-DYNAMIC-NEXT:    addl _lptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: bam08:
-; DARWIN-32-PIC: 	calll	L108$pb
-; DARWIN-32-PIC-NEXT: L108$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	$262144, %eax
-; DARWIN-32-PIC-NEXT: 	addl	_lptr-L108$pb([[ECX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L108$pb
+; DARWIN-32-PIC-NEXT:  L108$pb:
+; DARWIN-32-PIC-NEXT:    popl %ecx
+; DARWIN-32-PIC-NEXT:    movl $262144, %eax ## imm = 0x40000
+; DARWIN-32-PIC-NEXT:    addl _lptr-L108$pb(%ecx), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: bam08:
-; DARWIN-64-STATIC: 	movl	$262144, %eax
-; DARWIN-64-STATIC-NEXT: 	addq	_lptr(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: bam08:
-; DARWIN-64-DYNAMIC: 	movl	$262144, %eax
-; DARWIN-64-DYNAMIC-NEXT: 	addq	_lptr(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    retq
+;
 ; DARWIN-64-PIC-LABEL: bam08:
-; DARWIN-64-PIC: 	movl	$262144, %eax
-; DARWIN-64-PIC-NEXT: 	addq	_lptr(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    retq
+
 entry:
 	%0 = load i32*, i32** @lptr, align 8
 	%1 = getelementptr i32, i32* %0, i64 65536
@@ -6990,58 +8186,69 @@ entry:
 
 define i8* @cat00(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cat00:
-; LINUX-64-STATIC: leaq    src+64(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq src+64(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cat00:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	src+64(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal src+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cat00:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	src+64(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal src+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cat00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cat00:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_src+64(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _src+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cat00:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_src$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cat00:
-; DARWIN-32-PIC: 	calll	L109$pb
-; DARWIN-32-PIC-NEXT: L109$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L109$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L109$pb
+; DARWIN-32-PIC-NEXT:  L109$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L109$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cat00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cat00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cat00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %0
@@ -7051,58 +8258,69 @@ entry:
 
 define i8* @cxt00(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cxt00:
-; LINUX-64-STATIC: leaq    xsrc+64(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq xsrc+64(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cxt00:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	xsrc+64(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal xsrc+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cxt00:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	xsrc+64(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal xsrc+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cxt00:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cxt00:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_xsrc+64(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _xsrc+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cxt00:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xsrc$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cxt00:
-; DARWIN-32-PIC: 	calll	L110$pb
-; DARWIN-32-PIC-NEXT: L110$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L110$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L110$pb
+; DARWIN-32-PIC-NEXT:  L110$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L110$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cxt00:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cxt00:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cxt00:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %0
@@ -7112,58 +8330,69 @@ entry:
 
 define i8* @cat01(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cat01:
-; LINUX-64-STATIC: leaq    dst+64(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq dst+64(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cat01:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	dst+64(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal dst+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cat01:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	dst+64(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal dst+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cat01:
-; LINUX-64-PIC: 	movq	dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cat01:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_dst+64(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _dst+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cat01:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_dst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cat01:
-; DARWIN-32-PIC: 	calll	L111$pb
-; DARWIN-32-PIC-NEXT: L111$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L111$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L111$pb
+; DARWIN-32-PIC-NEXT:  L111$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L111$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cat01:
-; DARWIN-64-STATIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cat01:
-; DARWIN-64-DYNAMIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cat01:
-; DARWIN-64-PIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %0
@@ -7173,58 +8402,69 @@ entry:
 
 define i8* @cxt01(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cxt01:
-; LINUX-64-STATIC: leaq    xdst+64(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq xdst+64(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cxt01:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	xdst+64(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal xdst+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cxt01:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	xdst+64(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal xdst+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cxt01:
-; LINUX-64-PIC: 	movq	xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cxt01:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_xdst+64(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _xdst+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cxt01:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xdst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cxt01:
-; DARWIN-32-PIC: 	calll	L112$pb
-; DARWIN-32-PIC-NEXT: L112$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L112$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L112$pb
+; DARWIN-32-PIC-NEXT:  L112$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L112$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cxt01:
-; DARWIN-64-STATIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cxt01:
-; DARWIN-64-DYNAMIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cxt01:
-; DARWIN-64-PIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [32 x i32], [32 x i32]* @xdst, i64 0, i64 %0
@@ -7234,68 +8474,79 @@ entry:
 
 define i8* @cat02(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cat02:
-; LINUX-64-STATIC: movq    ptr(%rip), [[RAX:%r.x]]
-; LINUX-64-STATIC: leaq    64([[RAX]],%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq ptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cat02:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl ptr, %ecx
+; LINUX-32-STATIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cat02:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl ptr, %ecx
+; LINUX-32-PIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cat02:
-; LINUX-64-PIC: 	movq	ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq (%rax), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cat02:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %ecx
+; DARWIN-32-STATIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cat02:
-; DARWIN-32-DYNAMIC: 	movl	L_ptr$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 64(%eax,%ecx,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cat02:
-; DARWIN-32-PIC: 	calll	L113$pb
-; DARWIN-32-PIC-NEXT: L113$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L113$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L113$pb
+; DARWIN-32-PIC-NEXT:  L113$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L113$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal 64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cat02:
-; DARWIN-64-STATIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cat02:
-; DARWIN-64-DYNAMIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cat02:
-; DARWIN-64-PIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = add i64 %i, 16
@@ -7306,56 +8557,67 @@ entry:
 
 define i8* @cat03(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cat03:
-; LINUX-64-STATIC: leaq    dsrc+64(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq dsrc+64(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cat03:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	dsrc+64(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal dsrc+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cat03:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	dsrc+64(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal dsrc+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cat03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cat03:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_dsrc+64(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _dsrc+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cat03:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_dsrc+64(,[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _dsrc+64(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cat03:
-; DARWIN-32-PIC: 	calll	L114$pb
-; DARWIN-32-PIC-NEXT: L114$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_dsrc-L114$pb)+64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L114$pb
+; DARWIN-32-PIC-NEXT:  L114$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_dsrc-L114$pb)+64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cat03:
-; DARWIN-64-STATIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cat03:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cat03:
-; DARWIN-64-PIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %0
@@ -7365,56 +8627,67 @@ entry:
 
 define i8* @cat04(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cat04:
-; LINUX-64-STATIC: leaq    ddst+64(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq ddst+64(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cat04:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	ddst+64(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal ddst+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cat04:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	ddst+64(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal ddst+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cat04:
-; LINUX-64-PIC: 	movq	ddst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cat04:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_ddst+64(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _ddst+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cat04:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_ddst+64(,[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _ddst+64(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cat04:
-; DARWIN-32-PIC: 	calll	L115$pb
-; DARWIN-32-PIC-NEXT: L115$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ddst-L115$pb)+64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L115$pb
+; DARWIN-32-PIC-NEXT:  L115$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_ddst-L115$pb)+64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cat04:
-; DARWIN-64-STATIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cat04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cat04:
-; DARWIN-64-PIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %0
@@ -7424,63 +8697,74 @@ entry:
 
 define i8* @cat05(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cat05:
-; LINUX-64-STATIC: movq    dptr(%rip), [[RAX:%r.x]]
-; LINUX-64-STATIC: leaq    64([[RAX]],%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq dptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cat05:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl dptr, %ecx
+; LINUX-32-STATIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cat05:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl dptr, %ecx
+; LINUX-32-PIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cat05:
-; LINUX-64-PIC: 	movq	dptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq (%rax), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cat05:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _dptr, %ecx
+; DARWIN-32-STATIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cat05:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cat05:
-; DARWIN-32-PIC: 	calll	L116$pb
-; DARWIN-32-PIC-NEXT: L116$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dptr-L116$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L116$pb
+; DARWIN-32-PIC-NEXT:  L116$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl _dptr-L116$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cat05:
-; DARWIN-64-STATIC: 	movq	_dptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cat05:
-; DARWIN-64-DYNAMIC: 	movq	_dptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cat05:
-; DARWIN-64-PIC: 	movq	_dptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = add i64 %i, 16
@@ -7491,56 +8775,67 @@ entry:
 
 define i8* @cat06(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cat06:
-; LINUX-64-STATIC: leaq    lsrc+64(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq lsrc+64(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cat06:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	lsrc+64(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal lsrc+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cat06:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	lsrc+64(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal lsrc+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cat06:
-; LINUX-64-PIC: 	leaq	lsrc(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cat06:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_lsrc+64(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _lsrc+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cat06:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_lsrc+64(,[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _lsrc+64(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cat06:
-; DARWIN-32-PIC: 	calll	L117$pb
-; DARWIN-32-PIC-NEXT: L117$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_lsrc-L117$pb)+64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L117$pb
+; DARWIN-32-PIC-NEXT:  L117$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_lsrc-L117$pb)+64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cat06:
-; DARWIN-64-STATIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cat06:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cat06:
-; DARWIN-64-PIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %0
@@ -7550,56 +8845,67 @@ entry:
 
 define i8* @cat07(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cat07:
-; LINUX-64-STATIC: leaq    ldst+64(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq ldst+64(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cat07:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	ldst+64(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal ldst+64(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cat07:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	ldst+64(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal ldst+64(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cat07:
-; LINUX-64-PIC: 	leaq	ldst(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq ldst(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cat07:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_ldst+64(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _ldst+64(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cat07:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_ldst+64(,[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _ldst+64(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cat07:
-; DARWIN-32-PIC: 	calll	L118$pb
-; DARWIN-32-PIC-NEXT: L118$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ldst-L118$pb)+64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L118$pb
+; DARWIN-32-PIC-NEXT:  L118$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_ldst-L118$pb)+64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cat07:
-; DARWIN-64-STATIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cat07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cat07:
-; DARWIN-64-PIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 16
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %0
@@ -7609,62 +8915,73 @@ entry:
 
 define i8* @cat08(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cat08:
-; LINUX-64-STATIC: movq    lptr(%rip), [[RAX:%r.x]]
-; LINUX-64-STATIC: leaq    64([[RAX]],%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq lptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cat08:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl lptr, %ecx
+; LINUX-32-STATIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cat08:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl lptr, %ecx
+; LINUX-32-PIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cat08:
-; LINUX-64-PIC: 	movq	lptr(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq lptr(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cat08:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _lptr, %ecx
+; DARWIN-32-STATIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cat08:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	64([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 64(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cat08:
-; DARWIN-32-PIC: 	calll	L119$pb
-; DARWIN-32-PIC-NEXT: L119$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lptr-L119$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	64([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L119$pb
+; DARWIN-32-PIC-NEXT:  L119$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl _lptr-L119$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 64(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cat08:
-; DARWIN-64-STATIC: 	movq	_lptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cat08:
-; DARWIN-64-DYNAMIC: 	movq	_lptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cat08:
-; DARWIN-64-PIC: 	movq	_lptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	64([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 64(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @lptr, align 8
 	%1 = add i64 %i, 16
@@ -7675,58 +8992,69 @@ entry:
 
 define i8* @cam00(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cam00:
-; LINUX-64-STATIC: leaq    src+262144(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq src+262144(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cam00:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	src+262144(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal src+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cam00:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	src+262144(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal src+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cam00:
-; LINUX-64-PIC: 	movq	src at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq src at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cam00:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_src+262144(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _src+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cam00:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_src$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_src$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cam00:
-; DARWIN-32-PIC: 	calll	L120$pb
-; DARWIN-32-PIC-NEXT: L120$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_src$non_lazy_ptr-L120$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L120$pb
+; DARWIN-32-PIC-NEXT:  L120$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_src$non_lazy_ptr-L120$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cam00:
-; DARWIN-64-STATIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cam00:
-; DARWIN-64-DYNAMIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cam00:
-; DARWIN-64-PIC: 	movq	_src at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _src at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %0
@@ -7736,58 +9064,69 @@ entry:
 
 define i8* @cxm00(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cxm00:
-; LINUX-64-STATIC: leaq    xsrc+262144(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq xsrc+262144(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cxm00:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	xsrc+262144(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal xsrc+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cxm00:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	xsrc+262144(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal xsrc+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cxm00:
-; LINUX-64-PIC: 	movq	xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cxm00:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_xsrc+262144(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _xsrc+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cxm00:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xsrc$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xsrc$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cxm00:
-; DARWIN-32-PIC: 	calll	L121$pb
-; DARWIN-32-PIC-NEXT: L121$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xsrc$non_lazy_ptr-L121$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L121$pb
+; DARWIN-32-PIC-NEXT:  L121$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xsrc$non_lazy_ptr-L121$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cxm00:
-; DARWIN-64-STATIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cxm00:
-; DARWIN-64-DYNAMIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cxm00:
-; DARWIN-64-PIC: 	movq	_xsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xsrc at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %0
@@ -7797,58 +9136,69 @@ entry:
 
 define i8* @cam01(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cam01:
-; LINUX-64-STATIC: leaq    dst+262144(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq dst+262144(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cam01:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	dst+262144(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal dst+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cam01:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	dst+262144(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal dst+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cam01:
-; LINUX-64-PIC: 	movq	dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cam01:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_dst+262144(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _dst+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cam01:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_dst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_dst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cam01:
-; DARWIN-32-PIC: 	calll	L122$pb
-; DARWIN-32-PIC-NEXT: L122$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_dst$non_lazy_ptr-L122$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L122$pb
+; DARWIN-32-PIC-NEXT:  L122$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_dst$non_lazy_ptr-L122$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cam01:
-; DARWIN-64-STATIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cam01:
-; DARWIN-64-DYNAMIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cam01:
-; DARWIN-64-PIC: 	movq	_dst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %0
@@ -7858,58 +9208,69 @@ entry:
 
 define i8* @cxm01(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cxm01:
-; LINUX-64-STATIC: leaq    xdst+262144(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq xdst+262144(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cxm01:
-; LINUX-32-STATIC: 	movl	4(%esp), %eax
-; LINUX-32-STATIC-NEXT: 	leal	xdst+262144(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal xdst+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cxm01:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	xdst+262144(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal xdst+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cxm01:
-; LINUX-64-PIC: 	movq	xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq xdst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cxm01:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_xdst+262144(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _xdst+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cxm01:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_xdst$non_lazy_ptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl L_xdst$non_lazy_ptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cxm01:
-; DARWIN-32-PIC: 	calll	L123$pb
-; DARWIN-32-PIC-NEXT: L123$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_xdst$non_lazy_ptr-L123$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L123$pb
+; DARWIN-32-PIC-NEXT:  L123$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl L_xdst$non_lazy_ptr-L123$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cxm01:
-; DARWIN-64-STATIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cxm01:
-; DARWIN-64-DYNAMIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cxm01:
-; DARWIN-64-PIC: 	movq	_xdst at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _xdst at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [32 x i32], [32 x i32]* @xdst, i64 0, i64 %0
@@ -7919,68 +9280,79 @@ entry:
 
 define i8* @cam02(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cam02:
-; LINUX-64-STATIC: movq    ptr(%rip), [[RAX:%r.x]]
-; LINUX-64-STATIC: leaq    262144([[RAX]],%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq ptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cam02:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl ptr, %ecx
+; LINUX-32-STATIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cam02:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	ptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl ptr, %ecx
+; LINUX-32-PIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cam02:
-; LINUX-64-PIC: 	movq	ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq (%rax), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cam02:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_ptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _ptr, %ecx
+; DARWIN-32-STATIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cam02:
-; DARWIN-32-DYNAMIC: 	movl	L_ptr$non_lazy_ptr, [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ptr$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 262144(%eax,%ecx,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cam02:
-; DARWIN-32-PIC: 	calll	L124$pb
-; DARWIN-32-PIC-NEXT: L124$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ptr$non_lazy_ptr-L124$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L124$pb
+; DARWIN-32-PIC-NEXT:  L124$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_ptr$non_lazy_ptr-L124$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl (%eax), %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal 262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cam02:
-; DARWIN-64-STATIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cam02:
-; DARWIN-64-DYNAMIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cam02:
-; DARWIN-64-PIC: 	movq	_ptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _ptr at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    movq (%rax), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @ptr, align 8
 	%1 = add i64 %i, 65536
@@ -7991,56 +9363,67 @@ entry:
 
 define i8* @cam03(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cam03:
-; LINUX-64-STATIC: leaq    dsrc+262144(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq dsrc+262144(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cam03:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	dsrc+262144(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal dsrc+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cam03:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	dsrc+262144(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal dsrc+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cam03:
-; LINUX-64-PIC: 	movq	dsrc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dsrc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cam03:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_dsrc+262144(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _dsrc+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cam03:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_dsrc+262144(,[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _dsrc+262144(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cam03:
-; DARWIN-32-PIC: 	calll	L125$pb
-; DARWIN-32-PIC-NEXT: L125$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_dsrc-L125$pb)+262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L125$pb
+; DARWIN-32-PIC-NEXT:  L125$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_dsrc-L125$pb)+262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cam03:
-; DARWIN-64-STATIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cam03:
-; DARWIN-64-DYNAMIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cam03:
-; DARWIN-64-PIC: 	leaq	_dsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %0
@@ -8050,56 +9433,67 @@ entry:
 
 define i8* @cam04(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cam04:
-; LINUX-64-STATIC: leaq    ddst+262144(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq ddst+262144(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cam04:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	ddst+262144(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal ddst+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cam04:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	ddst+262144(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal ddst+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cam04:
-; LINUX-64-PIC: 	movq	ddst at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq ddst at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cam04:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_ddst+262144(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _ddst+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cam04:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_ddst+262144(,[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _ddst+262144(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cam04:
-; DARWIN-32-PIC: 	calll	L126$pb
-; DARWIN-32-PIC-NEXT: L126$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ddst-L126$pb)+262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L126$pb
+; DARWIN-32-PIC-NEXT:  L126$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_ddst-L126$pb)+262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cam04:
-; DARWIN-64-STATIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cam04:
-; DARWIN-64-DYNAMIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cam04:
-; DARWIN-64-PIC: 	leaq	_ddst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ddst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %0
@@ -8109,63 +9503,74 @@ entry:
 
 define i8* @cam05(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cam05:
-; LINUX-64-STATIC: movq    dptr(%rip), [[RAX:%r.x]]
-; LINUX-64-STATIC: leaq    262144([[RAX]],%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq dptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cam05:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	dptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl dptr, %ecx
+; LINUX-32-STATIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cam05:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	dptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl dptr, %ecx
+; LINUX-32-PIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cam05:
-; LINUX-64-PIC: 	movq	dptr at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	([[RAX]]), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq dptr at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    movq (%rax), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cam05:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_dptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _dptr, %ecx
+; DARWIN-32-STATIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cam05:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_dptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _dptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cam05:
-; DARWIN-32-PIC: 	calll	L127$pb
-; DARWIN-32-PIC-NEXT: L127$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_dptr-L127$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L127$pb
+; DARWIN-32-PIC-NEXT:  L127$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl _dptr-L127$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cam05:
-; DARWIN-64-STATIC: 	movq	_dptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cam05:
-; DARWIN-64-DYNAMIC: 	movq	_dptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cam05:
-; DARWIN-64-PIC: 	movq	_dptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _dptr(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @dptr, align 8
 	%1 = add i64 %i, 65536
@@ -8176,56 +9581,67 @@ entry:
 
 define i8* @cam06(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cam06:
-; LINUX-64-STATIC: leaq    lsrc+262144(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq lsrc+262144(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cam06:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	lsrc+262144(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal lsrc+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cam06:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	lsrc+262144(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal lsrc+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cam06:
-; LINUX-64-PIC: 	leaq	lsrc(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq lsrc(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cam06:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_lsrc+262144(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _lsrc+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cam06:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_lsrc+262144(,[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _lsrc+262144(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cam06:
-; DARWIN-32-PIC: 	calll	L128$pb
-; DARWIN-32-PIC-NEXT: L128$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_lsrc-L128$pb)+262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L128$pb
+; DARWIN-32-PIC-NEXT:  L128$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_lsrc-L128$pb)+262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cam06:
-; DARWIN-64-STATIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cam06:
-; DARWIN-64-DYNAMIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cam06:
-; DARWIN-64-PIC: 	leaq	_lsrc(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lsrc(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %0
@@ -8235,56 +9651,67 @@ entry:
 
 define i8* @cam07(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cam07:
-; LINUX-64-STATIC: leaq    ldst+262144(,%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    leaq ldst+262144(,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cam07:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	ldst+262144(,[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    leal ldst+262144(,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cam07:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	ldst+262144(,[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    leal ldst+262144(,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cam07:
-; LINUX-64-PIC: 	leaq	ldst(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq ldst(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cam07:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	_ldst+262144(,[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    leal _ldst+262144(,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cam07:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	_ldst+262144(,[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    leal _ldst+262144(,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cam07:
-; DARWIN-32-PIC: 	calll	L129$pb
-; DARWIN-32-PIC-NEXT: L129$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	(_ldst-L129$pb)+262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L129$pb
+; DARWIN-32-PIC-NEXT:  L129$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    leal (_ldst-L129$pb)+262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cam07:
-; DARWIN-64-STATIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cam07:
-; DARWIN-64-DYNAMIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cam07:
-; DARWIN-64-PIC: 	leaq	_ldst(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _ldst(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = add i64 %i, 65536
 	%1 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %0
@@ -8294,62 +9721,73 @@ entry:
 
 define i8* @cam08(i64 %i) nounwind {
 ; LINUX-64-STATIC-LABEL: cam08:
-; LINUX-64-STATIC: movq    lptr(%rip), [[RAX:%r.x]]
-; LINUX-64-STATIC: leaq    262144([[RAX]],%rdi,4), %rax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movq lptr(%rip), %rax
+; LINUX-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: cam08:
-; LINUX-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	movl	lptr, [[ECX:%e.x]]
-; LINUX-32-STATIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-STATIC-NEXT:    movl lptr, %ecx
+; LINUX-32-STATIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: cam08:
-; LINUX-32-PIC: 	movl	4(%esp), [[EAX:%e.x]]
-; LINUX-32-PIC-NEXT: 	movl	lptr, [[ECX:%e.x]]
-; LINUX-32-PIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; LINUX-32-PIC-NEXT:    movl lptr, %ecx
+; LINUX-32-PIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: cam08:
-; LINUX-64-PIC: 	movq	lptr(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq lptr(%rip), %rax
+; LINUX-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: cam08:
-; DARWIN-32-STATIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	movl	_lptr, [[ECX:%e.x]]
-; DARWIN-32-STATIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-STATIC-NEXT:    movl _lptr, %ecx
+; DARWIN-32-STATIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: cam08:
-; DARWIN-32-DYNAMIC: 	movl	4(%esp), [[EAX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	movl	_lptr, [[ECX:%e.x]]
-; DARWIN-32-DYNAMIC-NEXT: 	leal	262144([[ECX]],[[EAX]],4), %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl {{[0-9]+}}(%esp), %eax
+; DARWIN-32-DYNAMIC-NEXT:    movl _lptr, %ecx
+; DARWIN-32-DYNAMIC-NEXT:    leal 262144(%ecx,%eax,4), %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: cam08:
-; DARWIN-32-PIC: 	calll	L130$pb
-; DARWIN-32-PIC-NEXT: L130$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	4(%esp), [[ECX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	_lptr-L130$pb([[EAX]]), [[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	262144([[EAX]],[[ECX]],4), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L130$pb
+; DARWIN-32-PIC-NEXT:  L130$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl {{[0-9]+}}(%esp), %ecx
+; DARWIN-32-PIC-NEXT:    movl _lptr-L130$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    leal 262144(%eax,%ecx,4), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: cam08:
-; DARWIN-64-STATIC: 	movq	_lptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: cam08:
-; DARWIN-64-DYNAMIC: 	movq	_lptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: cam08:
-; DARWIN-64-PIC: 	movq	_lptr(%rip), [[RAX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	leaq	262144([[RAX]],%rdi,4), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _lptr(%rip), %rax
+; DARWIN-64-PIC-NEXT:    leaq 262144(%rax,%rdi,4), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load i32*, i32** @lptr, align 8
 	%1 = add i64 %i, 65536
@@ -8360,123 +9798,135 @@ entry:
 
 define void @lcallee() nounwind {
 ; LINUX-64-STATIC-LABEL: lcallee:
-; LINUX-64-STATIC: callq   x
-; LINUX-64-STATIC: callq   x
-; LINUX-64-STATIC: callq   x
-; LINUX-64-STATIC: callq   x
-; LINUX-64-STATIC: callq   x
-; LINUX-64-STATIC: callq   x
-; LINUX-64-STATIC: callq   x
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    pushq %rax
+; LINUX-64-STATIC-NEXT:    callq x
+; LINUX-64-STATIC-NEXT:    callq x
+; LINUX-64-STATIC-NEXT:    callq x
+; LINUX-64-STATIC-NEXT:    callq x
+; LINUX-64-STATIC-NEXT:    callq x
+; LINUX-64-STATIC-NEXT:    callq x
+; LINUX-64-STATIC-NEXT:    callq x
+; LINUX-64-STATIC-NEXT:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: lcallee:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	x
-; LINUX-32-STATIC-NEXT: 	calll	x
-; LINUX-32-STATIC-NEXT: 	calll	x
-; LINUX-32-STATIC-NEXT: 	calll	x
-; LINUX-32-STATIC-NEXT: 	calll	x
-; LINUX-32-STATIC-NEXT: 	calll	x
-; LINUX-32-STATIC-NEXT: 	calll	x
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll x
+; LINUX-32-STATIC-NEXT:    calll x
+; LINUX-32-STATIC-NEXT:    calll x
+; LINUX-32-STATIC-NEXT:    calll x
+; LINUX-32-STATIC-NEXT:    calll x
+; LINUX-32-STATIC-NEXT:    calll x
+; LINUX-32-STATIC-NEXT:    calll x
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: lcallee:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	x
-; LINUX-32-PIC-NEXT: 	calll	x
-; LINUX-32-PIC-NEXT: 	calll	x
-; LINUX-32-PIC-NEXT: 	calll	x
-; LINUX-32-PIC-NEXT: 	calll	x
-; LINUX-32-PIC-NEXT: 	calll	x
-; LINUX-32-PIC-NEXT: 	calll	x
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll x
+; LINUX-32-PIC-NEXT:    calll x
+; LINUX-32-PIC-NEXT:    calll x
+; LINUX-32-PIC-NEXT:    calll x
+; LINUX-32-PIC-NEXT:    calll x
+; LINUX-32-PIC-NEXT:    calll x
+; LINUX-32-PIC-NEXT:    calll x
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: lcallee:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	callq	x at PLT
-; LINUX-64-PIC-NEXT: 	callq	x at PLT
-; LINUX-64-PIC-NEXT: 	callq	x at PLT
-; LINUX-64-PIC-NEXT: 	callq	x at PLT
-; LINUX-64-PIC-NEXT: 	callq	x at PLT
-; LINUX-64-PIC-NEXT: 	callq	x at PLT
-; LINUX-64-PIC-NEXT: 	callq	x at PLT
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rax
+; LINUX-64-PIC-NEXT:    callq x at PLT
+; LINUX-64-PIC-NEXT:    callq x at PLT
+; LINUX-64-PIC-NEXT:    callq x at PLT
+; LINUX-64-PIC-NEXT:    callq x at PLT
+; LINUX-64-PIC-NEXT:    callq x at PLT
+; LINUX-64-PIC-NEXT:    callq x at PLT
+; LINUX-64-PIC-NEXT:    callq x at PLT
+; LINUX-64-PIC-NEXT:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: lcallee:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	_x
-; DARWIN-32-STATIC-NEXT: 	calll	_x
-; DARWIN-32-STATIC-NEXT: 	calll	_x
-; DARWIN-32-STATIC-NEXT: 	calll	_x
-; DARWIN-32-STATIC-NEXT: 	calll	_x
-; DARWIN-32-STATIC-NEXT: 	calll	_x
-; DARWIN-32-STATIC-NEXT: 	calll	_x
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll _x
+; DARWIN-32-STATIC-NEXT:    calll _x
+; DARWIN-32-STATIC-NEXT:    calll _x
+; DARWIN-32-STATIC-NEXT:    calll _x
+; DARWIN-32-STATIC-NEXT:    calll _x
+; DARWIN-32-STATIC-NEXT:    calll _x
+; DARWIN-32-STATIC-NEXT:    calll _x
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: lcallee:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_x
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_x
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_x
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_x
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_x
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_x
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_x
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll _x
+; DARWIN-32-DYNAMIC-NEXT:    calll _x
+; DARWIN-32-DYNAMIC-NEXT:    calll _x
+; DARWIN-32-DYNAMIC-NEXT:    calll _x
+; DARWIN-32-DYNAMIC-NEXT:    calll _x
+; DARWIN-32-DYNAMIC-NEXT:    calll _x
+; DARWIN-32-DYNAMIC-NEXT:    calll _x
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: lcallee:
-; DARWIN-32-PIC: 	subl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	calll	_x
-; DARWIN-32-PIC-NEXT: 	calll	_x
-; DARWIN-32-PIC-NEXT: 	calll	_x
-; DARWIN-32-PIC-NEXT: 	calll	_x
-; DARWIN-32-PIC-NEXT: 	calll	_x
-; DARWIN-32-PIC-NEXT: 	calll	_x
-; DARWIN-32-PIC-NEXT: 	calll	_x
-; DARWIN-32-PIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    subl $12, %esp
+; DARWIN-32-PIC-NEXT:    calll _x
+; DARWIN-32-PIC-NEXT:    calll _x
+; DARWIN-32-PIC-NEXT:    calll _x
+; DARWIN-32-PIC-NEXT:    calll _x
+; DARWIN-32-PIC-NEXT:    calll _x
+; DARWIN-32-PIC-NEXT:    calll _x
+; DARWIN-32-PIC-NEXT:    calll _x
+; DARWIN-32-PIC-NEXT:    addl $12, %esp
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: lcallee:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	_x
-; DARWIN-64-STATIC-NEXT: 	callq	_x
-; DARWIN-64-STATIC-NEXT: 	callq	_x
-; DARWIN-64-STATIC-NEXT: 	callq	_x
-; DARWIN-64-STATIC-NEXT: 	callq	_x
-; DARWIN-64-STATIC-NEXT: 	callq	_x
-; DARWIN-64-STATIC-NEXT: 	callq	_x
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rax
+; DARWIN-64-STATIC-NEXT:    callq _x
+; DARWIN-64-STATIC-NEXT:    callq _x
+; DARWIN-64-STATIC-NEXT:    callq _x
+; DARWIN-64-STATIC-NEXT:    callq _x
+; DARWIN-64-STATIC-NEXT:    callq _x
+; DARWIN-64-STATIC-NEXT:    callq _x
+; DARWIN-64-STATIC-NEXT:    callq _x
+; DARWIN-64-STATIC-NEXT:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: lcallee:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_x
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_x
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_x
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_x
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_x
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_x
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_x
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rax
+; DARWIN-64-DYNAMIC-NEXT:    callq _x
+; DARWIN-64-DYNAMIC-NEXT:    callq _x
+; DARWIN-64-DYNAMIC-NEXT:    callq _x
+; DARWIN-64-DYNAMIC-NEXT:    callq _x
+; DARWIN-64-DYNAMIC-NEXT:    callq _x
+; DARWIN-64-DYNAMIC-NEXT:    callq _x
+; DARWIN-64-DYNAMIC-NEXT:    callq _x
+; DARWIN-64-DYNAMIC-NEXT:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: lcallee:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	_x
-; DARWIN-64-PIC-NEXT: 	callq	_x
-; DARWIN-64-PIC-NEXT: 	callq	_x
-; DARWIN-64-PIC-NEXT: 	callq	_x
-; DARWIN-64-PIC-NEXT: 	callq	_x
-; DARWIN-64-PIC-NEXT: 	callq	_x
-; DARWIN-64-PIC-NEXT: 	callq	_x
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rax
+; DARWIN-64-PIC-NEXT:    callq _x
+; DARWIN-64-PIC-NEXT:    callq _x
+; DARWIN-64-PIC-NEXT:    callq _x
+; DARWIN-64-PIC-NEXT:    callq _x
+; DARWIN-64-PIC-NEXT:    callq _x
+; DARWIN-64-PIC-NEXT:    callq _x
+; DARWIN-64-PIC-NEXT:    callq _x
+; DARWIN-64-PIC-NEXT:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	call void @x() nounwind
 	call void @x() nounwind
@@ -8492,123 +9942,135 @@ declare void @x()
 
 define internal void @dcallee() nounwind {
 ; LINUX-64-STATIC-LABEL: dcallee:
-; LINUX-64-STATIC: callq   y
-; LINUX-64-STATIC: callq   y
-; LINUX-64-STATIC: callq   y
-; LINUX-64-STATIC: callq   y
-; LINUX-64-STATIC: callq   y
-; LINUX-64-STATIC: callq   y
-; LINUX-64-STATIC: callq   y
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    pushq %rax
+; LINUX-64-STATIC-NEXT:    callq y
+; LINUX-64-STATIC-NEXT:    callq y
+; LINUX-64-STATIC-NEXT:    callq y
+; LINUX-64-STATIC-NEXT:    callq y
+; LINUX-64-STATIC-NEXT:    callq y
+; LINUX-64-STATIC-NEXT:    callq y
+; LINUX-64-STATIC-NEXT:    callq y
+; LINUX-64-STATIC-NEXT:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: dcallee:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	y
-; LINUX-32-STATIC-NEXT: 	calll	y
-; LINUX-32-STATIC-NEXT: 	calll	y
-; LINUX-32-STATIC-NEXT: 	calll	y
-; LINUX-32-STATIC-NEXT: 	calll	y
-; LINUX-32-STATIC-NEXT: 	calll	y
-; LINUX-32-STATIC-NEXT: 	calll	y
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll y
+; LINUX-32-STATIC-NEXT:    calll y
+; LINUX-32-STATIC-NEXT:    calll y
+; LINUX-32-STATIC-NEXT:    calll y
+; LINUX-32-STATIC-NEXT:    calll y
+; LINUX-32-STATIC-NEXT:    calll y
+; LINUX-32-STATIC-NEXT:    calll y
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: dcallee:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	y
-; LINUX-32-PIC-NEXT: 	calll	y
-; LINUX-32-PIC-NEXT: 	calll	y
-; LINUX-32-PIC-NEXT: 	calll	y
-; LINUX-32-PIC-NEXT: 	calll	y
-; LINUX-32-PIC-NEXT: 	calll	y
-; LINUX-32-PIC-NEXT: 	calll	y
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll y
+; LINUX-32-PIC-NEXT:    calll y
+; LINUX-32-PIC-NEXT:    calll y
+; LINUX-32-PIC-NEXT:    calll y
+; LINUX-32-PIC-NEXT:    calll y
+; LINUX-32-PIC-NEXT:    calll y
+; LINUX-32-PIC-NEXT:    calll y
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: dcallee:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	callq	y at PLT
-; LINUX-64-PIC-NEXT: 	callq	y at PLT
-; LINUX-64-PIC-NEXT: 	callq	y at PLT
-; LINUX-64-PIC-NEXT: 	callq	y at PLT
-; LINUX-64-PIC-NEXT: 	callq	y at PLT
-; LINUX-64-PIC-NEXT: 	callq	y at PLT
-; LINUX-64-PIC-NEXT: 	callq	y at PLT
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rax
+; LINUX-64-PIC-NEXT:    callq y at PLT
+; LINUX-64-PIC-NEXT:    callq y at PLT
+; LINUX-64-PIC-NEXT:    callq y at PLT
+; LINUX-64-PIC-NEXT:    callq y at PLT
+; LINUX-64-PIC-NEXT:    callq y at PLT
+; LINUX-64-PIC-NEXT:    callq y at PLT
+; LINUX-64-PIC-NEXT:    callq y at PLT
+; LINUX-64-PIC-NEXT:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: dcallee:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	_y
-; DARWIN-32-STATIC-NEXT: 	calll	_y
-; DARWIN-32-STATIC-NEXT: 	calll	_y
-; DARWIN-32-STATIC-NEXT: 	calll	_y
-; DARWIN-32-STATIC-NEXT: 	calll	_y
-; DARWIN-32-STATIC-NEXT: 	calll	_y
-; DARWIN-32-STATIC-NEXT: 	calll	_y
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll _y
+; DARWIN-32-STATIC-NEXT:    calll _y
+; DARWIN-32-STATIC-NEXT:    calll _y
+; DARWIN-32-STATIC-NEXT:    calll _y
+; DARWIN-32-STATIC-NEXT:    calll _y
+; DARWIN-32-STATIC-NEXT:    calll _y
+; DARWIN-32-STATIC-NEXT:    calll _y
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: dcallee:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_y
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_y
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_y
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_y
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_y
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_y
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_y
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll _y
+; DARWIN-32-DYNAMIC-NEXT:    calll _y
+; DARWIN-32-DYNAMIC-NEXT:    calll _y
+; DARWIN-32-DYNAMIC-NEXT:    calll _y
+; DARWIN-32-DYNAMIC-NEXT:    calll _y
+; DARWIN-32-DYNAMIC-NEXT:    calll _y
+; DARWIN-32-DYNAMIC-NEXT:    calll _y
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: dcallee:
-; DARWIN-32-PIC: 	subl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	calll	_y
-; DARWIN-32-PIC-NEXT: 	calll	_y
-; DARWIN-32-PIC-NEXT: 	calll	_y
-; DARWIN-32-PIC-NEXT: 	calll	_y
-; DARWIN-32-PIC-NEXT: 	calll	_y
-; DARWIN-32-PIC-NEXT: 	calll	_y
-; DARWIN-32-PIC-NEXT: 	calll	_y
-; DARWIN-32-PIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    subl $12, %esp
+; DARWIN-32-PIC-NEXT:    calll _y
+; DARWIN-32-PIC-NEXT:    calll _y
+; DARWIN-32-PIC-NEXT:    calll _y
+; DARWIN-32-PIC-NEXT:    calll _y
+; DARWIN-32-PIC-NEXT:    calll _y
+; DARWIN-32-PIC-NEXT:    calll _y
+; DARWIN-32-PIC-NEXT:    calll _y
+; DARWIN-32-PIC-NEXT:    addl $12, %esp
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: dcallee:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	_y
-; DARWIN-64-STATIC-NEXT: 	callq	_y
-; DARWIN-64-STATIC-NEXT: 	callq	_y
-; DARWIN-64-STATIC-NEXT: 	callq	_y
-; DARWIN-64-STATIC-NEXT: 	callq	_y
-; DARWIN-64-STATIC-NEXT: 	callq	_y
-; DARWIN-64-STATIC-NEXT: 	callq	_y
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rax
+; DARWIN-64-STATIC-NEXT:    callq _y
+; DARWIN-64-STATIC-NEXT:    callq _y
+; DARWIN-64-STATIC-NEXT:    callq _y
+; DARWIN-64-STATIC-NEXT:    callq _y
+; DARWIN-64-STATIC-NEXT:    callq _y
+; DARWIN-64-STATIC-NEXT:    callq _y
+; DARWIN-64-STATIC-NEXT:    callq _y
+; DARWIN-64-STATIC-NEXT:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: dcallee:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_y
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_y
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_y
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_y
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_y
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_y
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_y
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rax
+; DARWIN-64-DYNAMIC-NEXT:    callq _y
+; DARWIN-64-DYNAMIC-NEXT:    callq _y
+; DARWIN-64-DYNAMIC-NEXT:    callq _y
+; DARWIN-64-DYNAMIC-NEXT:    callq _y
+; DARWIN-64-DYNAMIC-NEXT:    callq _y
+; DARWIN-64-DYNAMIC-NEXT:    callq _y
+; DARWIN-64-DYNAMIC-NEXT:    callq _y
+; DARWIN-64-DYNAMIC-NEXT:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: dcallee:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	_y
-; DARWIN-64-PIC-NEXT: 	callq	_y
-; DARWIN-64-PIC-NEXT: 	callq	_y
-; DARWIN-64-PIC-NEXT: 	callq	_y
-; DARWIN-64-PIC-NEXT: 	callq	_y
-; DARWIN-64-PIC-NEXT: 	callq	_y
-; DARWIN-64-PIC-NEXT: 	callq	_y
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rax
+; DARWIN-64-PIC-NEXT:    callq _y
+; DARWIN-64-PIC-NEXT:    callq _y
+; DARWIN-64-PIC-NEXT:    callq _y
+; DARWIN-64-PIC-NEXT:    callq _y
+; DARWIN-64-PIC-NEXT:    callq _y
+; DARWIN-64-PIC-NEXT:    callq _y
+; DARWIN-64-PIC-NEXT:    callq _y
+; DARWIN-64-PIC-NEXT:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	call void @y() nounwind
 	call void @y() nounwind
@@ -8624,47 +10086,58 @@ declare void @y()
 
 define void ()* @address() nounwind {
 ; LINUX-64-STATIC-LABEL: address:
-; LINUX-64-STATIC: movl    $callee, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $callee, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: address:
-; LINUX-32-STATIC: 	movl	$callee, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $callee, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: address:
-; LINUX-32-PIC: 	movl	$callee, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $callee, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: address:
-; LINUX-64-PIC: 	movq	callee at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq callee at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: address:
-; DARWIN-32-STATIC: 	movl	$_callee, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_callee, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: address:
-; DARWIN-32-DYNAMIC: 	movl	L_callee$non_lazy_ptr, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl L_callee$non_lazy_ptr, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: address:
-; DARWIN-32-PIC: 	calll	L133$pb
-; DARWIN-32-PIC-NEXT: L133$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_callee$non_lazy_ptr-L133$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L133$pb
+; DARWIN-32-PIC-NEXT:  L133$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_callee$non_lazy_ptr-L133$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: address:
-; DARWIN-64-STATIC: 	movq	_callee at GOTPCREL(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    movq _callee at GOTPCREL(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: address:
-; DARWIN-64-DYNAMIC: 	movq	_callee at GOTPCREL(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    movq _callee at GOTPCREL(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: address:
-; DARWIN-64-PIC: 	movq	_callee at GOTPCREL(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    movq _callee at GOTPCREL(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret void ()* @callee
 }
@@ -8673,167 +10146,201 @@ declare void @callee()
 
 define void ()* @laddress() nounwind {
 ; LINUX-64-STATIC-LABEL: laddress:
-; LINUX-64-STATIC: movl    $lcallee, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $lcallee, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: laddress:
-; LINUX-32-STATIC: 	movl	$lcallee, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $lcallee, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: laddress:
-; LINUX-32-PIC: 	movl	$lcallee, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $lcallee, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: laddress:
-; LINUX-64-PIC: 	movq	lcallee at GOTPCREL(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    movq lcallee at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: laddress:
-; DARWIN-32-STATIC: 	movl	$_lcallee, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_lcallee, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: laddress:
-; DARWIN-32-DYNAMIC: 	movl	$_lcallee, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_lcallee, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: laddress:
-; DARWIN-32-PIC: 	calll	L134$pb
-; DARWIN-32-PIC-NEXT: L134$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_lcallee-L134$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L134$pb
+; DARWIN-32-PIC-NEXT:  L134$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _lcallee-L134$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: laddress:
-; DARWIN-64-STATIC: 	leaq	_lcallee(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _lcallee(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: laddress:
-; DARWIN-64-DYNAMIC: 	leaq	_lcallee(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _lcallee(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: laddress:
-; DARWIN-64-PIC: 	leaq	_lcallee(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _lcallee(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret void ()* @lcallee
 }
 
 define void ()* @daddress() nounwind {
 ; LINUX-64-STATIC-LABEL: daddress:
-; LINUX-64-STATIC: movl    $dcallee, %eax
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    movl $dcallee, %eax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: daddress:
-; LINUX-32-STATIC: 	movl	$dcallee, %eax
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    movl $dcallee, %eax
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: daddress:
-; LINUX-32-PIC: 	movl	$dcallee, %eax
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    movl $dcallee, %eax
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: daddress:
-; LINUX-64-PIC: 	leaq	dcallee(%rip), %rax
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    leaq dcallee(%rip), %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: daddress:
-; DARWIN-32-STATIC: 	movl	$_dcallee, %eax
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    movl $_dcallee, %eax
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: daddress:
-; DARWIN-32-DYNAMIC: 	movl	$_dcallee, %eax
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    movl $_dcallee, %eax
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: daddress:
-; DARWIN-32-PIC: 	calll	L135$pb
-; DARWIN-32-PIC-NEXT: L135$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	leal	_dcallee-L135$pb([[EAX]]), %eax
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    calll L135$pb
+; DARWIN-32-PIC-NEXT:  L135$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    leal _dcallee-L135$pb(%eax), %eax
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: daddress:
-; DARWIN-64-STATIC: 	leaq	_dcallee(%rip), %rax
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    leaq _dcallee(%rip), %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: daddress:
-; DARWIN-64-DYNAMIC: 	leaq	_dcallee(%rip), %rax
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    leaq _dcallee(%rip), %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: daddress:
-; DARWIN-64-PIC: 	leaq	_dcallee(%rip), %rax
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    leaq _dcallee(%rip), %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	ret void ()* @dcallee
 }
 
 define void @caller() nounwind {
 ; LINUX-64-STATIC-LABEL: caller:
-; LINUX-64-STATIC: callq   callee
-; LINUX-64-STATIC: callq   callee
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    pushq %rax
+; LINUX-64-STATIC-NEXT:    callq callee
+; LINUX-64-STATIC-NEXT:    callq callee
+; LINUX-64-STATIC-NEXT:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: caller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	callee
-; LINUX-32-STATIC-NEXT: 	calll	callee
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll callee
+; LINUX-32-STATIC-NEXT:    calll callee
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: caller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	callee
-; LINUX-32-PIC-NEXT: 	calll	callee
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll callee
+; LINUX-32-PIC-NEXT:    calll callee
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: caller:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	callq	callee at PLT
-; LINUX-64-PIC-NEXT: 	callq	callee at PLT
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rax
+; LINUX-64-PIC-NEXT:    callq callee at PLT
+; LINUX-64-PIC-NEXT:    callq callee at PLT
+; LINUX-64-PIC-NEXT:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: caller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	_callee
-; DARWIN-32-STATIC-NEXT: 	calll	_callee
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll _callee
+; DARWIN-32-STATIC-NEXT:    calll _callee
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: caller:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_callee
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_callee
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll _callee
+; DARWIN-32-DYNAMIC-NEXT:    calll _callee
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: caller:
-; DARWIN-32-PIC: 	subl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	calll	_callee
-; DARWIN-32-PIC-NEXT: 	calll	_callee
-; DARWIN-32-PIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    subl $12, %esp
+; DARWIN-32-PIC-NEXT:    calll _callee
+; DARWIN-32-PIC-NEXT:    calll _callee
+; DARWIN-32-PIC-NEXT:    addl $12, %esp
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: caller:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	_callee
-; DARWIN-64-STATIC-NEXT: 	callq	_callee
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rax
+; DARWIN-64-STATIC-NEXT:    callq _callee
+; DARWIN-64-STATIC-NEXT:    callq _callee
+; DARWIN-64-STATIC-NEXT:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: caller:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_callee
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_callee
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rax
+; DARWIN-64-DYNAMIC-NEXT:    callq _callee
+; DARWIN-64-DYNAMIC-NEXT:    callq _callee
+; DARWIN-64-DYNAMIC-NEXT:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: caller:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	_callee
-; DARWIN-64-PIC-NEXT: 	callq	_callee
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rax
+; DARWIN-64-PIC-NEXT:    callq _callee
+; DARWIN-64-PIC-NEXT:    callq _callee
+; DARWIN-64-PIC-NEXT:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	call void @callee() nounwind
 	call void @callee() nounwind
@@ -8842,73 +10349,85 @@ entry:
 
 define void @dcaller() nounwind {
 ; LINUX-64-STATIC-LABEL: dcaller:
-; LINUX-64-STATIC: callq   dcallee
-; LINUX-64-STATIC: callq   dcallee
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    pushq %rax
+; LINUX-64-STATIC-NEXT:    callq dcallee
+; LINUX-64-STATIC-NEXT:    callq dcallee
+; LINUX-64-STATIC-NEXT:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: dcaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	dcallee
-; LINUX-32-STATIC-NEXT: 	calll	dcallee
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll dcallee
+; LINUX-32-STATIC-NEXT:    calll dcallee
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: dcaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	dcallee
-; LINUX-32-PIC-NEXT: 	calll	dcallee
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll dcallee
+; LINUX-32-PIC-NEXT:    calll dcallee
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: dcaller:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	callq	dcallee
-; LINUX-64-PIC-NEXT: 	callq	dcallee
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rax
+; LINUX-64-PIC-NEXT:    callq dcallee
+; LINUX-64-PIC-NEXT:    callq dcallee
+; LINUX-64-PIC-NEXT:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: dcaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	_dcallee
-; DARWIN-32-STATIC-NEXT: 	calll	_dcallee
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll _dcallee
+; DARWIN-32-STATIC-NEXT:    calll _dcallee
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: dcaller:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_dcallee
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_dcallee
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll _dcallee
+; DARWIN-32-DYNAMIC-NEXT:    calll _dcallee
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: dcaller:
-; DARWIN-32-PIC: 	subl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	calll	_dcallee
-; DARWIN-32-PIC-NEXT: 	calll	_dcallee
-; DARWIN-32-PIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    subl $12, %esp
+; DARWIN-32-PIC-NEXT:    calll _dcallee
+; DARWIN-32-PIC-NEXT:    calll _dcallee
+; DARWIN-32-PIC-NEXT:    addl $12, %esp
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: dcaller:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	_dcallee
-; DARWIN-64-STATIC-NEXT: 	callq	_dcallee
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rax
+; DARWIN-64-STATIC-NEXT:    callq _dcallee
+; DARWIN-64-STATIC-NEXT:    callq _dcallee
+; DARWIN-64-STATIC-NEXT:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: dcaller:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_dcallee
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_dcallee
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rax
+; DARWIN-64-DYNAMIC-NEXT:    callq _dcallee
+; DARWIN-64-DYNAMIC-NEXT:    callq _dcallee
+; DARWIN-64-DYNAMIC-NEXT:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: dcaller:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	_dcallee
-; DARWIN-64-PIC-NEXT: 	callq	_dcallee
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rax
+; DARWIN-64-PIC-NEXT:    callq _dcallee
+; DARWIN-64-PIC-NEXT:    callq _dcallee
+; DARWIN-64-PIC-NEXT:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	call void @dcallee() nounwind
 	call void @dcallee() nounwind
@@ -8917,73 +10436,85 @@ entry:
 
 define void @lcaller() nounwind {
 ; LINUX-64-STATIC-LABEL: lcaller:
-; LINUX-64-STATIC: callq   lcallee
-; LINUX-64-STATIC: callq   lcallee
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    pushq %rax
+; LINUX-64-STATIC-NEXT:    callq lcallee
+; LINUX-64-STATIC-NEXT:    callq lcallee
+; LINUX-64-STATIC-NEXT:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: lcaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	lcallee
-; LINUX-32-STATIC-NEXT: 	calll	lcallee
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll lcallee
+; LINUX-32-STATIC-NEXT:    calll lcallee
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: lcaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	lcallee
-; LINUX-32-PIC-NEXT: 	calll	lcallee
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll lcallee
+; LINUX-32-PIC-NEXT:    calll lcallee
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: lcaller:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	callq	lcallee at PLT
-; LINUX-64-PIC-NEXT: 	callq	lcallee at PLT
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rax
+; LINUX-64-PIC-NEXT:    callq lcallee at PLT
+; LINUX-64-PIC-NEXT:    callq lcallee at PLT
+; LINUX-64-PIC-NEXT:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: lcaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	_lcallee
-; DARWIN-32-STATIC-NEXT: 	calll	_lcallee
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll _lcallee
+; DARWIN-32-STATIC-NEXT:    calll _lcallee
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: lcaller:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_lcallee
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_lcallee
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll _lcallee
+; DARWIN-32-DYNAMIC-NEXT:    calll _lcallee
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: lcaller:
-; DARWIN-32-PIC: 	subl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	calll	_lcallee
-; DARWIN-32-PIC-NEXT: 	calll	_lcallee
-; DARWIN-32-PIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    subl $12, %esp
+; DARWIN-32-PIC-NEXT:    calll _lcallee
+; DARWIN-32-PIC-NEXT:    calll _lcallee
+; DARWIN-32-PIC-NEXT:    addl $12, %esp
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: lcaller:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	_lcallee
-; DARWIN-64-STATIC-NEXT: 	callq	_lcallee
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rax
+; DARWIN-64-STATIC-NEXT:    callq _lcallee
+; DARWIN-64-STATIC-NEXT:    callq _lcallee
+; DARWIN-64-STATIC-NEXT:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: lcaller:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_lcallee
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_lcallee
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rax
+; DARWIN-64-DYNAMIC-NEXT:    callq _lcallee
+; DARWIN-64-DYNAMIC-NEXT:    callq _lcallee
+; DARWIN-64-DYNAMIC-NEXT:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: lcaller:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	_lcallee
-; DARWIN-64-PIC-NEXT: 	callq	_lcallee
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rax
+; DARWIN-64-PIC-NEXT:    callq _lcallee
+; DARWIN-64-PIC-NEXT:    callq _lcallee
+; DARWIN-64-PIC-NEXT:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	call void @lcallee() nounwind
 	call void @lcallee() nounwind
@@ -8992,63 +10523,75 @@ entry:
 
 define void @tailcaller() nounwind {
 ; LINUX-64-STATIC-LABEL: tailcaller:
-; LINUX-64-STATIC: callq   callee
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    pushq %rax
+; LINUX-64-STATIC-NEXT:    callq callee
+; LINUX-64-STATIC-NEXT:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: tailcaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	callee
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll callee
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: tailcaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	callee
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll callee
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: tailcaller:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	callq	callee at PLT
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rax
+; LINUX-64-PIC-NEXT:    callq callee at PLT
+; LINUX-64-PIC-NEXT:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: tailcaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	_callee
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll _callee
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: tailcaller:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_callee
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll _callee
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: tailcaller:
-; DARWIN-32-PIC: 	subl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	calll	_callee
-; DARWIN-32-PIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    subl $12, %esp
+; DARWIN-32-PIC-NEXT:    calll _callee
+; DARWIN-32-PIC-NEXT:    addl $12, %esp
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: tailcaller:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	_callee
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rax
+; DARWIN-64-STATIC-NEXT:    callq _callee
+; DARWIN-64-STATIC-NEXT:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: tailcaller:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_callee
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rax
+; DARWIN-64-DYNAMIC-NEXT:    callq _callee
+; DARWIN-64-DYNAMIC-NEXT:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: tailcaller:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	_callee
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rax
+; DARWIN-64-PIC-NEXT:    callq _callee
+; DARWIN-64-PIC-NEXT:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	call void @callee() nounwind
 	ret void
@@ -9056,63 +10599,75 @@ entry:
 
 define void @dtailcaller() nounwind {
 ; LINUX-64-STATIC-LABEL: dtailcaller:
-; LINUX-64-STATIC: callq   dcallee
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    pushq %rax
+; LINUX-64-STATIC-NEXT:    callq dcallee
+; LINUX-64-STATIC-NEXT:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: dtailcaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	dcallee
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll dcallee
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: dtailcaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	dcallee
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll dcallee
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: dtailcaller:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	callq	dcallee
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rax
+; LINUX-64-PIC-NEXT:    callq dcallee
+; LINUX-64-PIC-NEXT:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: dtailcaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	_dcallee
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll _dcallee
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: dtailcaller:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_dcallee
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll _dcallee
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: dtailcaller:
-; DARWIN-32-PIC: 	subl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	calll	_dcallee
-; DARWIN-32-PIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    subl $12, %esp
+; DARWIN-32-PIC-NEXT:    calll _dcallee
+; DARWIN-32-PIC-NEXT:    addl $12, %esp
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: dtailcaller:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	_dcallee
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rax
+; DARWIN-64-STATIC-NEXT:    callq _dcallee
+; DARWIN-64-STATIC-NEXT:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: dtailcaller:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_dcallee
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rax
+; DARWIN-64-DYNAMIC-NEXT:    callq _dcallee
+; DARWIN-64-DYNAMIC-NEXT:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: dtailcaller:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	_dcallee
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rax
+; DARWIN-64-PIC-NEXT:    callq _dcallee
+; DARWIN-64-PIC-NEXT:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	call void @dcallee() nounwind
 	ret void
@@ -9120,63 +10675,75 @@ entry:
 
 define void @ltailcaller() nounwind {
 ; LINUX-64-STATIC-LABEL: ltailcaller:
-; LINUX-64-STATIC: callq   lcallee
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    pushq %rax
+; LINUX-64-STATIC-NEXT:    callq lcallee
+; LINUX-64-STATIC-NEXT:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: ltailcaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	lcallee
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll lcallee
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ltailcaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	lcallee
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll lcallee
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ltailcaller:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	callq	lcallee at PLT
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rax
+; LINUX-64-PIC-NEXT:    callq lcallee at PLT
+; LINUX-64-PIC-NEXT:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ltailcaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	_lcallee
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll _lcallee
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ltailcaller:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	_lcallee
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll _lcallee
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ltailcaller:
-; DARWIN-32-PIC: 	subl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	calll	_lcallee
-; DARWIN-32-PIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    subl $12, %esp
+; DARWIN-32-PIC-NEXT:    calll _lcallee
+; DARWIN-32-PIC-NEXT:    addl $12, %esp
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ltailcaller:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	_lcallee
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rax
+; DARWIN-64-STATIC-NEXT:    callq _lcallee
+; DARWIN-64-STATIC-NEXT:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ltailcaller:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	_lcallee
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rax
+; DARWIN-64-DYNAMIC-NEXT:    callq _lcallee
+; DARWIN-64-DYNAMIC-NEXT:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ltailcaller:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	_lcallee
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rax
+; DARWIN-64-PIC-NEXT:    callq _lcallee
+; DARWIN-64-PIC-NEXT:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	call void @lcallee() nounwind
 	ret void
@@ -9184,86 +10751,98 @@ entry:
 
 define void @icaller() nounwind {
 ; LINUX-64-STATIC-LABEL: icaller:
-; LINUX-64-STATIC: callq   *ifunc
-; LINUX-64-STATIC: callq   *ifunc
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: icaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	*ifunc
-; LINUX-32-STATIC-NEXT: 	calll	*ifunc
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll *ifunc
+; LINUX-32-STATIC-NEXT:    calll *ifunc
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: icaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	*ifunc
-; LINUX-32-PIC-NEXT: 	calll	*ifunc
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll *ifunc
+; LINUX-32-PIC-NEXT:    calll *ifunc
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: icaller:
-; LINUX-64-PIC: 	pushq	[[RBX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	ifunc at GOTPCREL(%rip), [[RBX:%r.x]]
-; LINUX-64-PIC-NEXT: 	callq	*([[RBX]])
-; LINUX-64-PIC-NEXT: 	callq	*([[RBX]])
-; LINUX-64-PIC-NEXT: 	popq	[[RBX:%r.x]]
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rbx
+; LINUX-64-PIC-NEXT:    movq ifunc at GOTPCREL(%rip), %rbx
+; LINUX-64-PIC-NEXT:    callq *(%rbx)
+; LINUX-64-PIC-NEXT:    callq *(%rbx)
+; LINUX-64-PIC-NEXT:    popq %rbx
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: icaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	*_ifunc
-; DARWIN-32-STATIC-NEXT: 	calll	*_ifunc
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll *_ifunc
+; DARWIN-32-STATIC-NEXT:    calll *_ifunc
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: icaller:
-; DARWIN-32-DYNAMIC: 	pushl	%esi
-; DARWIN-32-DYNAMIC-NEXT: 	subl	$8, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ifunc$non_lazy_ptr, %esi
-; DARWIN-32-DYNAMIC-NEXT: 	calll	*(%esi)
-; DARWIN-32-DYNAMIC-NEXT: 	calll	*(%esi)
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$8, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	popl	%esi
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    pushl %esi
+; DARWIN-32-DYNAMIC-NEXT:    subl $8, %esp
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ifunc$non_lazy_ptr, %esi
+; DARWIN-32-DYNAMIC-NEXT:    calll *(%esi)
+; DARWIN-32-DYNAMIC-NEXT:    calll *(%esi)
+; DARWIN-32-DYNAMIC-NEXT:    addl $8, %esp
+; DARWIN-32-DYNAMIC-NEXT:    popl %esi
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: icaller:
-; DARWIN-32-PIC: 	pushl	%esi
-; DARWIN-32-PIC-NEXT: 	subl	$8, %esp
-; DARWIN-32-PIC-NEXT: 	calll	L142$pb
-; DARWIN-32-PIC-NEXT: L142$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ifunc$non_lazy_ptr-L142$pb([[EAX]]), %esi
-; DARWIN-32-PIC-NEXT: 	calll	*(%esi)
-; DARWIN-32-PIC-NEXT: 	calll	*(%esi)
-; DARWIN-32-PIC-NEXT: 	addl	$8, %esp
-; DARWIN-32-PIC-NEXT: 	popl	%esi
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    pushl %esi
+; DARWIN-32-PIC-NEXT:    subl $8, %esp
+; DARWIN-32-PIC-NEXT:    calll L142$pb
+; DARWIN-32-PIC-NEXT:  L142$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_ifunc$non_lazy_ptr-L142$pb(%eax), %esi
+; DARWIN-32-PIC-NEXT:    calll *(%esi)
+; DARWIN-32-PIC-NEXT:    calll *(%esi)
+; DARWIN-32-PIC-NEXT:    addl $8, %esp
+; DARWIN-32-PIC-NEXT:    popl %esi
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: icaller:
-; DARWIN-64-STATIC: 	pushq	[[RBX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ifunc at GOTPCREL(%rip), [[RBX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-STATIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-STATIC-NEXT: 	popq	[[RBX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rbx
+; DARWIN-64-STATIC-NEXT:    movq _ifunc at GOTPCREL(%rip), %rbx
+; DARWIN-64-STATIC-NEXT:    callq *(%rbx)
+; DARWIN-64-STATIC-NEXT:    callq *(%rbx)
+; DARWIN-64-STATIC-NEXT:    popq %rbx
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: icaller:
-; DARWIN-64-DYNAMIC: 	pushq	[[RBX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ifunc at GOTPCREL(%rip), [[RBX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-DYNAMIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-DYNAMIC-NEXT: 	popq	[[RBX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rbx
+; DARWIN-64-DYNAMIC-NEXT:    movq _ifunc at GOTPCREL(%rip), %rbx
+; DARWIN-64-DYNAMIC-NEXT:    callq *(%rbx)
+; DARWIN-64-DYNAMIC-NEXT:    callq *(%rbx)
+; DARWIN-64-DYNAMIC-NEXT:    popq %rbx
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: icaller:
-; DARWIN-64-PIC: 	pushq	[[RBX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ifunc at GOTPCREL(%rip), [[RBX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-PIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-PIC-NEXT: 	popq	[[RBX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rbx
+; DARWIN-64-PIC-NEXT:    movq _ifunc at GOTPCREL(%rip), %rbx
+; DARWIN-64-PIC-NEXT:    callq *(%rbx)
+; DARWIN-64-PIC-NEXT:    callq *(%rbx)
+; DARWIN-64-PIC-NEXT:    popq %rbx
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load void ()*, void ()** @ifunc, align 8
 	call void %0() nounwind
@@ -9274,79 +10853,91 @@ entry:
 
 define void @dicaller() nounwind {
 ; LINUX-64-STATIC-LABEL: dicaller:
-; LINUX-64-STATIC: callq   *difunc
-; LINUX-64-STATIC: callq   *difunc
-; LINUX-64-STATIC: ret
-
+; 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:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: dicaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	*difunc
-; LINUX-32-STATIC-NEXT: 	calll	*difunc
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll *difunc
+; LINUX-32-STATIC-NEXT:    calll *difunc
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: dicaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	*difunc
-; LINUX-32-PIC-NEXT: 	calll	*difunc
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll *difunc
+; LINUX-32-PIC-NEXT:    calll *difunc
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: dicaller:
-; LINUX-64-PIC: 	pushq	[[RBX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	difunc at GOTPCREL(%rip), [[RBX:%r.x]]
-; LINUX-64-PIC-NEXT: 	callq	*([[RBX]])
-; LINUX-64-PIC-NEXT: 	callq	*([[RBX]])
-; LINUX-64-PIC-NEXT: 	popq	[[RBX:%r.x]]
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rbx
+; LINUX-64-PIC-NEXT:    movq difunc at GOTPCREL(%rip), %rbx
+; LINUX-64-PIC-NEXT:    callq *(%rbx)
+; LINUX-64-PIC-NEXT:    callq *(%rbx)
+; LINUX-64-PIC-NEXT:    popq %rbx
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: dicaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	*_difunc
-; DARWIN-32-STATIC-NEXT: 	calll	*_difunc
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll *_difunc
+; DARWIN-32-STATIC-NEXT:    calll *_difunc
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: dicaller:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	*_difunc
-; DARWIN-32-DYNAMIC-NEXT: 	calll	*_difunc
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll *_difunc
+; DARWIN-32-DYNAMIC-NEXT:    calll *_difunc
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: dicaller:
-; DARWIN-32-PIC: 	pushl	%esi
-; DARWIN-32-PIC-NEXT: 	subl	$8, %esp
-; DARWIN-32-PIC-NEXT: 	calll	L143$pb
-; DARWIN-32-PIC-NEXT: L143$pb:
-; DARWIN-32-PIC-NEXT: 	popl	%esi
-; DARWIN-32-PIC-NEXT: 	calll	*_difunc-L143$pb(%esi)
-; DARWIN-32-PIC-NEXT: 	calll	*_difunc-L143$pb(%esi)
-; DARWIN-32-PIC-NEXT: 	addl	$8, %esp
-; DARWIN-32-PIC-NEXT: 	popl	%esi
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    pushl %esi
+; DARWIN-32-PIC-NEXT:    subl $8, %esp
+; DARWIN-32-PIC-NEXT:    calll L143$pb
+; DARWIN-32-PIC-NEXT:  L143$pb:
+; DARWIN-32-PIC-NEXT:    popl %esi
+; DARWIN-32-PIC-NEXT:    calll *_difunc-L143$pb(%esi)
+; DARWIN-32-PIC-NEXT:    calll *_difunc-L143$pb(%esi)
+; DARWIN-32-PIC-NEXT:    addl $8, %esp
+; DARWIN-32-PIC-NEXT:    popl %esi
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: dicaller:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	*_difunc(%rip)
-; DARWIN-64-STATIC-NEXT: 	callq	*_difunc(%rip)
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: dicaller:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	*_difunc(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	callq	*_difunc(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: dicaller:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	*_difunc(%rip)
-; DARWIN-64-PIC-NEXT: 	callq	*_difunc(%rip)
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load void ()*, void ()** @difunc, align 8
 	call void %0() nounwind
@@ -9357,78 +10948,90 @@ entry:
 
 define void @licaller() nounwind {
 ; LINUX-64-STATIC-LABEL: licaller:
-; LINUX-64-STATIC: callq   *lifunc
-; LINUX-64-STATIC: callq   *lifunc
-; LINUX-64-STATIC: ret
-
+; 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:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: licaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	*lifunc
-; LINUX-32-STATIC-NEXT: 	calll	*lifunc
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll *lifunc
+; LINUX-32-STATIC-NEXT:    calll *lifunc
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: licaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	*lifunc
-; LINUX-32-PIC-NEXT: 	calll	*lifunc
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll *lifunc
+; LINUX-32-PIC-NEXT:    calll *lifunc
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: licaller:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	callq	*lifunc(%rip)
-; LINUX-64-PIC-NEXT: 	callq	*lifunc(%rip)
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; 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:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: licaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	*_lifunc
-; DARWIN-32-STATIC-NEXT: 	calll	*_lifunc
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll *_lifunc
+; DARWIN-32-STATIC-NEXT:    calll *_lifunc
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: licaller:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	*_lifunc
-; DARWIN-32-DYNAMIC-NEXT: 	calll	*_lifunc
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll *_lifunc
+; DARWIN-32-DYNAMIC-NEXT:    calll *_lifunc
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: licaller:
-; DARWIN-32-PIC: 	pushl	%esi
-; DARWIN-32-PIC-NEXT: 	subl	$8, %esp
-; DARWIN-32-PIC-NEXT: 	calll	L144$pb
-; DARWIN-32-PIC-NEXT: L144$pb:
-; DARWIN-32-PIC-NEXT: 	popl	%esi
-; DARWIN-32-PIC-NEXT: 	calll	*_lifunc-L144$pb(%esi)
-; DARWIN-32-PIC-NEXT: 	calll	*_lifunc-L144$pb(%esi)
-; DARWIN-32-PIC-NEXT: 	addl	$8, %esp
-; DARWIN-32-PIC-NEXT: 	popl	%esi
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    pushl %esi
+; DARWIN-32-PIC-NEXT:    subl $8, %esp
+; DARWIN-32-PIC-NEXT:    calll L144$pb
+; DARWIN-32-PIC-NEXT:  L144$pb:
+; DARWIN-32-PIC-NEXT:    popl %esi
+; DARWIN-32-PIC-NEXT:    calll *_lifunc-L144$pb(%esi)
+; DARWIN-32-PIC-NEXT:    calll *_lifunc-L144$pb(%esi)
+; DARWIN-32-PIC-NEXT:    addl $8, %esp
+; DARWIN-32-PIC-NEXT:    popl %esi
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: licaller:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	*_lifunc(%rip)
-; DARWIN-64-STATIC-NEXT: 	callq	*_lifunc(%rip)
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; 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:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: licaller:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	*_lifunc(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	callq	*_lifunc(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; 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:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: licaller:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	*_lifunc(%rip)
-; DARWIN-64-PIC-NEXT: 	callq	*_lifunc(%rip)
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; 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:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load void ()*, void ()** @lifunc, align 8
 	call void %0() nounwind
@@ -9439,86 +11042,98 @@ entry:
 
 define void @itailcaller() nounwind {
 ; LINUX-64-STATIC-LABEL: itailcaller:
-; LINUX-64-STATIC: callq   *ifunc
-; LINUX-64-STATIC: callq   *ifunc
-; LINUX-64-STATIC: ret
-
+; 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:    retq
+;
 ; LINUX-32-STATIC-LABEL: itailcaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	*ifunc
-; LINUX-32-STATIC-NEXT: 	calll	*ifunc
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll *ifunc
+; LINUX-32-STATIC-NEXT:    calll *ifunc
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: itailcaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	*ifunc
-; LINUX-32-PIC-NEXT: 	calll	*ifunc
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll *ifunc
+; LINUX-32-PIC-NEXT:    calll *ifunc
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: itailcaller:
-; LINUX-64-PIC: 	pushq	[[RBX:%r.x]]
-; LINUX-64-PIC-NEXT: 	movq	ifunc at GOTPCREL(%rip), [[RBX:%r.x]]
-; LINUX-64-PIC-NEXT: 	callq	*([[RBX]])
-; LINUX-64-PIC-NEXT: 	callq	*([[RBX]])
-; LINUX-64-PIC-NEXT: 	popq	[[RBX:%r.x]]
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rbx
+; LINUX-64-PIC-NEXT:    movq ifunc at GOTPCREL(%rip), %rbx
+; LINUX-64-PIC-NEXT:    callq *(%rbx)
+; LINUX-64-PIC-NEXT:    callq *(%rbx)
+; LINUX-64-PIC-NEXT:    popq %rbx
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: itailcaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	*_ifunc
-; DARWIN-32-STATIC-NEXT: 	calll	*_ifunc
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll *_ifunc
+; DARWIN-32-STATIC-NEXT:    calll *_ifunc
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: itailcaller:
-; DARWIN-32-DYNAMIC: 	pushl	%esi
-; DARWIN-32-DYNAMIC-NEXT: 	subl	$8, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	movl	L_ifunc$non_lazy_ptr, %esi
-; DARWIN-32-DYNAMIC-NEXT: 	calll	*(%esi)
-; DARWIN-32-DYNAMIC-NEXT: 	calll	*(%esi)
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$8, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	popl	%esi
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    pushl %esi
+; DARWIN-32-DYNAMIC-NEXT:    subl $8, %esp
+; DARWIN-32-DYNAMIC-NEXT:    movl L_ifunc$non_lazy_ptr, %esi
+; DARWIN-32-DYNAMIC-NEXT:    calll *(%esi)
+; DARWIN-32-DYNAMIC-NEXT:    calll *(%esi)
+; DARWIN-32-DYNAMIC-NEXT:    addl $8, %esp
+; DARWIN-32-DYNAMIC-NEXT:    popl %esi
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: itailcaller:
-; DARWIN-32-PIC: 	pushl	%esi
-; DARWIN-32-PIC-NEXT: 	subl	$8, %esp
-; DARWIN-32-PIC-NEXT: 	calll	L145$pb
-; DARWIN-32-PIC-NEXT: L145$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	movl	L_ifunc$non_lazy_ptr-L145$pb([[EAX]]), %esi
-; DARWIN-32-PIC-NEXT: 	calll	*(%esi)
-; DARWIN-32-PIC-NEXT: 	calll	*(%esi)
-; DARWIN-32-PIC-NEXT: 	addl	$8, %esp
-; DARWIN-32-PIC-NEXT: 	popl	%esi
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    pushl %esi
+; DARWIN-32-PIC-NEXT:    subl $8, %esp
+; DARWIN-32-PIC-NEXT:    calll L145$pb
+; DARWIN-32-PIC-NEXT:  L145$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    movl L_ifunc$non_lazy_ptr-L145$pb(%eax), %esi
+; DARWIN-32-PIC-NEXT:    calll *(%esi)
+; DARWIN-32-PIC-NEXT:    calll *(%esi)
+; DARWIN-32-PIC-NEXT:    addl $8, %esp
+; DARWIN-32-PIC-NEXT:    popl %esi
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: itailcaller:
-; DARWIN-64-STATIC: 	pushq	[[RBX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	movq	_ifunc at GOTPCREL(%rip), [[RBX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-STATIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-STATIC-NEXT: 	popq	[[RBX:%r.x]]
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rbx
+; DARWIN-64-STATIC-NEXT:    movq _ifunc at GOTPCREL(%rip), %rbx
+; DARWIN-64-STATIC-NEXT:    callq *(%rbx)
+; DARWIN-64-STATIC-NEXT:    callq *(%rbx)
+; DARWIN-64-STATIC-NEXT:    popq %rbx
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: itailcaller:
-; DARWIN-64-DYNAMIC: 	pushq	[[RBX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	movq	_ifunc at GOTPCREL(%rip), [[RBX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-DYNAMIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-DYNAMIC-NEXT: 	popq	[[RBX:%r.x]]
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rbx
+; DARWIN-64-DYNAMIC-NEXT:    movq _ifunc at GOTPCREL(%rip), %rbx
+; DARWIN-64-DYNAMIC-NEXT:    callq *(%rbx)
+; DARWIN-64-DYNAMIC-NEXT:    callq *(%rbx)
+; DARWIN-64-DYNAMIC-NEXT:    popq %rbx
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: itailcaller:
-; DARWIN-64-PIC: 	pushq	[[RBX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	movq	_ifunc at GOTPCREL(%rip), [[RBX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-PIC-NEXT: 	callq	*([[RBX]])
-; DARWIN-64-PIC-NEXT: 	popq	[[RBX:%r.x]]
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rbx
+; DARWIN-64-PIC-NEXT:    movq _ifunc at GOTPCREL(%rip), %rbx
+; DARWIN-64-PIC-NEXT:    callq *(%rbx)
+; DARWIN-64-PIC-NEXT:    callq *(%rbx)
+; DARWIN-64-PIC-NEXT:    popq %rbx
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load void ()*, void ()** @ifunc, align 8
 	call void %0() nounwind
@@ -9529,66 +11144,79 @@ entry:
 
 define void @ditailcaller() nounwind {
 ; LINUX-64-STATIC-LABEL: ditailcaller:
-; LINUX-64-STATIC: callq   *difunc
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    pushq %rax
+; LINUX-64-STATIC-NEXT:    callq *difunc(%rip)
+; LINUX-64-STATIC-NEXT:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: ditailcaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	*difunc
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll *difunc
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: ditailcaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	*difunc
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll *difunc
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: ditailcaller:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	movq	difunc at GOTPCREL(%rip), [[RAX:%r.x]]
-; LINUX-64-PIC-NEXT: 	callq	*([[RAX]])
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rax
+; LINUX-64-PIC-NEXT:    movq difunc at GOTPCREL(%rip), %rax
+; LINUX-64-PIC-NEXT:    callq *(%rax)
+; LINUX-64-PIC-NEXT:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: ditailcaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	*_difunc
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll *_difunc
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: ditailcaller:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	*_difunc
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll *_difunc
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: ditailcaller:
-; DARWIN-32-PIC: 	subl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	calll	L146$pb
-; DARWIN-32-PIC-NEXT: L146$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	calll	*_difunc-L146$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    subl $12, %esp
+; DARWIN-32-PIC-NEXT:    calll L146$pb
+; DARWIN-32-PIC-NEXT:  L146$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    calll *_difunc-L146$pb(%eax)
+; DARWIN-32-PIC-NEXT:    addl $12, %esp
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: ditailcaller:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	*_difunc(%rip)
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rax
+; DARWIN-64-STATIC-NEXT:    callq *_difunc(%rip)
+; DARWIN-64-STATIC-NEXT:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: ditailcaller:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	*_difunc(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rax
+; DARWIN-64-DYNAMIC-NEXT:    callq *_difunc(%rip)
+; DARWIN-64-DYNAMIC-NEXT:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: ditailcaller:
-; DARWIN-64-PIC: 	callq	*_difunc(%rip)
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rax
+; DARWIN-64-PIC-NEXT:    callq *_difunc(%rip)
+; DARWIN-64-PIC-NEXT:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load void ()*, void ()** @difunc, align 8
 	call void %0() nounwind
@@ -9597,66 +11225,78 @@ entry:
 
 define void @litailcaller() nounwind {
 ; LINUX-64-STATIC-LABEL: litailcaller:
-; LINUX-64-STATIC: callq   *lifunc
-; LINUX-64-STATIC: ret
-
+; LINUX-64-STATIC:       # %bb.0: # %entry
+; LINUX-64-STATIC-NEXT:    pushq %rax
+; LINUX-64-STATIC-NEXT:    callq *lifunc(%rip)
+; LINUX-64-STATIC-NEXT:    popq %rax
+; LINUX-64-STATIC-NEXT:    retq
+;
 ; LINUX-32-STATIC-LABEL: litailcaller:
-; LINUX-32-STATIC: 	subl
-; LINUX-32-STATIC-NEXT: 	calll	*lifunc
-; LINUX-32-STATIC-NEXT: 	addl
-; LINUX-32-STATIC-NEXT: 	ret
-
+; LINUX-32-STATIC:       # %bb.0: # %entry
+; LINUX-32-STATIC-NEXT:    subl $12, %esp
+; LINUX-32-STATIC-NEXT:    calll *lifunc
+; LINUX-32-STATIC-NEXT:    addl $12, %esp
+; LINUX-32-STATIC-NEXT:    retl
+;
 ; LINUX-32-PIC-LABEL: litailcaller:
-; LINUX-32-PIC: 	subl
-; LINUX-32-PIC-NEXT: 	calll	*lifunc
-; LINUX-32-PIC-NEXT: 	addl
-
-; LINUX-32-PIC-NEXT: 	ret
-
+; LINUX-32-PIC:       # %bb.0: # %entry
+; LINUX-32-PIC-NEXT:    subl $12, %esp
+; LINUX-32-PIC-NEXT:    calll *lifunc
+; LINUX-32-PIC-NEXT:    addl $12, %esp
+; LINUX-32-PIC-NEXT:    retl
+;
 ; LINUX-64-PIC-LABEL: litailcaller:
-; LINUX-64-PIC: 	pushq
-; LINUX-64-PIC-NEXT: 	callq	*lifunc(%rip)
-; LINUX-64-PIC-NEXT: 	popq
-; LINUX-64-PIC-NEXT: 	ret
-
+; LINUX-64-PIC:       # %bb.0: # %entry
+; LINUX-64-PIC-NEXT:    pushq %rax
+; LINUX-64-PIC-NEXT:    callq *lifunc(%rip)
+; LINUX-64-PIC-NEXT:    popq %rax
+; LINUX-64-PIC-NEXT:    retq
+;
 ; DARWIN-32-STATIC-LABEL: litailcaller:
-; DARWIN-32-STATIC: 	subl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	calll	*_lifunc
-; DARWIN-32-STATIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-STATIC-NEXT: 	ret
-
+; DARWIN-32-STATIC:       ## %bb.0: ## %entry
+; DARWIN-32-STATIC-NEXT:    subl $12, %esp
+; DARWIN-32-STATIC-NEXT:    calll *_lifunc
+; DARWIN-32-STATIC-NEXT:    addl $12, %esp
+; DARWIN-32-STATIC-NEXT:    retl
+;
 ; DARWIN-32-DYNAMIC-LABEL: litailcaller:
-; DARWIN-32-DYNAMIC: 	subl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	calll	*_lifunc
-; DARWIN-32-DYNAMIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-DYNAMIC-NEXT: 	ret
-
+; DARWIN-32-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-32-DYNAMIC-NEXT:    subl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    calll *_lifunc
+; DARWIN-32-DYNAMIC-NEXT:    addl $12, %esp
+; DARWIN-32-DYNAMIC-NEXT:    retl
+;
 ; DARWIN-32-PIC-LABEL: litailcaller:
-; DARWIN-32-PIC: 	subl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	calll	L147$pb
-; DARWIN-32-PIC-NEXT: L147$pb:
-; DARWIN-32-PIC-NEXT: 	popl	[[EAX:%e.x]]
-; DARWIN-32-PIC-NEXT: 	calll	*_lifunc-L147$pb([[EAX]])
-; DARWIN-32-PIC-NEXT: 	addl	$12, %esp
-; DARWIN-32-PIC-NEXT: 	ret
-
+; DARWIN-32-PIC:       ## %bb.0: ## %entry
+; DARWIN-32-PIC-NEXT:    subl $12, %esp
+; DARWIN-32-PIC-NEXT:    calll L147$pb
+; DARWIN-32-PIC-NEXT:  L147$pb:
+; DARWIN-32-PIC-NEXT:    popl %eax
+; DARWIN-32-PIC-NEXT:    calll *_lifunc-L147$pb(%eax)
+; DARWIN-32-PIC-NEXT:    addl $12, %esp
+; DARWIN-32-PIC-NEXT:    retl
+;
 ; DARWIN-64-STATIC-LABEL: litailcaller:
-; DARWIN-64-STATIC: 	pushq
-; DARWIN-64-STATIC-NEXT: 	callq	*_lifunc(%rip)
-; DARWIN-64-STATIC-NEXT: 	popq
-; DARWIN-64-STATIC-NEXT: 	ret
-
+; DARWIN-64-STATIC:       ## %bb.0: ## %entry
+; DARWIN-64-STATIC-NEXT:    pushq %rax
+; DARWIN-64-STATIC-NEXT:    callq *_lifunc(%rip)
+; DARWIN-64-STATIC-NEXT:    popq %rax
+; DARWIN-64-STATIC-NEXT:    retq
+;
 ; DARWIN-64-DYNAMIC-LABEL: litailcaller:
-; DARWIN-64-DYNAMIC: 	pushq
-; DARWIN-64-DYNAMIC-NEXT: 	callq	*_lifunc(%rip)
-; DARWIN-64-DYNAMIC-NEXT: 	popq
-; DARWIN-64-DYNAMIC-NEXT: 	ret
-
+; DARWIN-64-DYNAMIC:       ## %bb.0: ## %entry
+; DARWIN-64-DYNAMIC-NEXT:    pushq %rax
+; DARWIN-64-DYNAMIC-NEXT:    callq *_lifunc(%rip)
+; DARWIN-64-DYNAMIC-NEXT:    popq %rax
+; DARWIN-64-DYNAMIC-NEXT:    retq
+;
 ; DARWIN-64-PIC-LABEL: litailcaller:
-; DARWIN-64-PIC: 	pushq
-; DARWIN-64-PIC-NEXT: 	callq	*_lifunc(%rip)
-; DARWIN-64-PIC-NEXT: 	popq
-; DARWIN-64-PIC-NEXT: 	ret
+; DARWIN-64-PIC:       ## %bb.0: ## %entry
+; DARWIN-64-PIC-NEXT:    pushq %rax
+; DARWIN-64-PIC-NEXT:    callq *_lifunc(%rip)
+; DARWIN-64-PIC-NEXT:    popq %rax
+; DARWIN-64-PIC-NEXT:    retq
+
 entry:
 	%0 = load void ()*, void ()** @lifunc, align 8
 	call void %0() nounwind




More information about the llvm-commits mailing list