1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=i686-unknown-linux-gnu -march=x86 -relocation-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-32-STATIC 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=i686-unknown-linux-gnu -march=x86 -relocation-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-32-PIC 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=x86_64-unknown-linux-gnu -march=x86-64 -relocation-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-64-STATIC 5*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=x86_64-unknown-linux-gnu -march=x86-64 -relocation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=LINUX-64-PIC 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=i686-apple-darwin -march=x86 -relocation-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=DARWIN-32-STATIC 8*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=i686-apple-darwin9 -march=x86 -relocation-model=dynamic-no-pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=DARWIN-32-DYNAMIC 9*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=i686-apple-darwin9 -march=x86 -relocation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=DARWIN-32-PIC 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=x86_64-apple-darwin -march=x86-64 -relocation-model=static -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=DARWIN-64-STATIC 12*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=x86_64-apple-darwin -march=x86-64 -relocation-model=dynamic-no-pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=DARWIN-64-DYNAMIC 13*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -asm-verbose=0 -mcpu=generic -mtriple=x86_64-apple-darwin -march=x86-64 -relocation-model=pic -code-model=small -pre-RA-sched=list-ilp | FileCheck %s -check-prefix=DARWIN-64-PIC 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Worker@src = external global [131072 x i32] 16*9880d681SAndroid Build Coastguard Worker@dst = external global [131072 x i32] 17*9880d681SAndroid Build Coastguard Worker@xsrc = external global [32 x i32] 18*9880d681SAndroid Build Coastguard Worker@xdst = external global [32 x i32] 19*9880d681SAndroid Build Coastguard Worker@ptr = external global i32* 20*9880d681SAndroid Build Coastguard Worker@dsrc = global [131072 x i32] zeroinitializer, align 32 21*9880d681SAndroid Build Coastguard Worker@ddst = global [131072 x i32] zeroinitializer, align 32 22*9880d681SAndroid Build Coastguard Worker@dptr = global i32* null 23*9880d681SAndroid Build Coastguard Worker@lsrc = internal global [131072 x i32] zeroinitializer 24*9880d681SAndroid Build Coastguard Worker@ldst = internal global [131072 x i32] zeroinitializer 25*9880d681SAndroid Build Coastguard Worker@lptr = internal global i32* null 26*9880d681SAndroid Build Coastguard Worker@ifunc = external global void ()* 27*9880d681SAndroid Build Coastguard Worker@difunc = global void ()* null 28*9880d681SAndroid Build Coastguard Worker@lifunc = internal global void ()* null 29*9880d681SAndroid Build Coastguard Worker@lxsrc = internal global [32 x i32] zeroinitializer, align 32 30*9880d681SAndroid Build Coastguard Worker@lxdst = internal global [32 x i32] zeroinitializer, align 32 31*9880d681SAndroid Build Coastguard Worker@dxsrc = global [32 x i32] zeroinitializer, align 32 32*9880d681SAndroid Build Coastguard Worker@dxdst = global [32 x i32] zeroinitializer, align 32 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Workerdefine void @foo00() nounwind { 35*9880d681SAndroid Build Coastguard Workerentry: 36*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 0), align 4 37*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 0), align 4 38*9880d681SAndroid Build Coastguard Worker ret void 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: foo00: 41*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src(%rip), [[EAX:%e.x]] 42*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], dst 43*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: foo00: 46*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl src, [[EAX:%e.x]] 47*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], dst 48*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: foo00: 51*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl src, [[EAX:%e.x]] 52*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], dst 53*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: foo00: 56*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r..]] 57*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e..]] 58*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r..]] 59*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 60*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 61*9880d681SAndroid Build Coastguard Worker 62*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _foo00: 63*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _src, [[EAX:%e.x]] 64*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _dst 65*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _foo00: 68*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_src$non_lazy_ptr, [[EAX:%e..]] 69*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EAX]]), [[EAX:%e..]] 70*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_dst$non_lazy_ptr, [[ECX:%e..]] 71*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 72*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 73*9880d681SAndroid Build Coastguard Worker 74*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _foo00: 75*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L0$pb 76*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L0$pb: 77*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e..]] 78*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L0$pb([[EAX]]), [[ECX:%e..]] 79*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[ECX]]), [[ECX:%e..]] 80*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L0$pb([[EAX]]), [[EAX:%e..]] 81*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 82*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _foo00: 85*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r..]] 86*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]]), [[EAX:%e..]] 87*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r..]] 88*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]]) 89*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _foo00: 92*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r..]] 93*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]]), [[EAX:%e..]] 94*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r..]] 95*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]]) 96*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _foo00: 99*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r..]] 100*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e..]] 101*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r..]] 102*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 103*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 104*9880d681SAndroid Build Coastguard Worker} 105*9880d681SAndroid Build Coastguard Worker 106*9880d681SAndroid Build Coastguard Workerdefine void @fxo00() nounwind { 107*9880d681SAndroid Build Coastguard Workerentry: 108*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([32 x i32], [32 x i32]* @xsrc, i32 0, i64 0), align 4 109*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i64 0), align 4 110*9880d681SAndroid Build Coastguard Worker ret void 111*9880d681SAndroid Build Coastguard Worker 112*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: fxo00: 113*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl xsrc(%rip), [[EAX:%e.x]] 114*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], xdst 115*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 116*9880d681SAndroid Build Coastguard Worker 117*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: fxo00: 118*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl xsrc, [[EAX:%e.x]] 119*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], xdst 120*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 121*9880d681SAndroid Build Coastguard Worker 122*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: fxo00: 123*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl xsrc, [[EAX:%e.x]] 124*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], xdst 125*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 126*9880d681SAndroid Build Coastguard Worker 127*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: fxo00: 128*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 129*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 130*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), [[RCX:%r.x]] 131*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 132*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 133*9880d681SAndroid Build Coastguard Worker 134*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _fxo00: 135*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _xsrc, [[EAX:%e.x]] 136*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _xdst 137*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 138*9880d681SAndroid Build Coastguard Worker 139*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _fxo00: 140*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xsrc$non_lazy_ptr, [[EAX:%e.x]] 141*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 142*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xdst$non_lazy_ptr, [[ECX:%e.x]] 143*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 144*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 145*9880d681SAndroid Build Coastguard Worker 146*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _fxo00: 147*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L1$pb 148*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L1$pb: 149*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 150*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L1$pb([[EAX]]), [[ECX:%e.x]] 151*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[ECX]]), [[ECX:%e.x]] 152*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L1$pb([[EAX]]), [[EAX:%e.x]] 153*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 154*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 155*9880d681SAndroid Build Coastguard Worker 156*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _fxo00: 157*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 158*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 159*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 160*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]]) 161*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 162*9880d681SAndroid Build Coastguard Worker 163*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _fxo00: 164*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 165*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 166*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 167*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]]) 168*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 169*9880d681SAndroid Build Coastguard Worker 170*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _fxo00: 171*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 172*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 173*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 174*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 175*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 176*9880d681SAndroid Build Coastguard Worker} 177*9880d681SAndroid Build Coastguard Worker 178*9880d681SAndroid Build Coastguard Workerdefine void @foo01() nounwind { 179*9880d681SAndroid Build Coastguard Workerentry: 180*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i32 0), i32** @ptr, align 8 181*9880d681SAndroid Build Coastguard Worker ret void 182*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: foo01: 183*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $dst, ptr 184*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 185*9880d681SAndroid Build Coastguard Worker 186*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: foo01: 187*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dst, ptr 188*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 189*9880d681SAndroid Build Coastguard Worker 190*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: foo01: 191*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dst, ptr 192*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 193*9880d681SAndroid Build Coastguard Worker 194*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: foo01: 195*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]] 196*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 197*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 198*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 199*9880d681SAndroid Build Coastguard Worker 200*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _foo01: 201*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dst, _ptr 202*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 203*9880d681SAndroid Build Coastguard Worker 204*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _foo01: 205*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_dst$non_lazy_ptr, [[EAX:%e.x]] 206*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 207*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 208*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 209*9880d681SAndroid Build Coastguard Worker 210*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _foo01: 211*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L2$pb 212*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L2$pb: 213*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl 214*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L2$pb( 215*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L2$pb( 216*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 217*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 218*9880d681SAndroid Build Coastguard Worker 219*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _foo01: 220*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 221*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 222*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], ([[RCX]]) 223*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 224*9880d681SAndroid Build Coastguard Worker 225*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _foo01: 226*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 227*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 228*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], ([[RCX]]) 229*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 230*9880d681SAndroid Build Coastguard Worker 231*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _foo01: 232*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 233*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 234*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 235*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 236*9880d681SAndroid Build Coastguard Worker} 237*9880d681SAndroid Build Coastguard Worker 238*9880d681SAndroid Build Coastguard Workerdefine void @fxo01() nounwind { 239*9880d681SAndroid Build Coastguard Workerentry: 240*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i32 0), i32** @ptr, align 8 241*9880d681SAndroid Build Coastguard Worker ret void 242*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: fxo01: 243*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $xdst, ptr 244*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 245*9880d681SAndroid Build Coastguard Worker 246*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: fxo01: 247*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $xdst, ptr 248*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 249*9880d681SAndroid Build Coastguard Worker 250*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: fxo01: 251*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $xdst, ptr 252*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 253*9880d681SAndroid Build Coastguard Worker 254*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: fxo01: 255*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), [[RAX:%r.x]] 256*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 257*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 258*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 259*9880d681SAndroid Build Coastguard Worker 260*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _fxo01: 261*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_xdst, _ptr 262*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 263*9880d681SAndroid Build Coastguard Worker 264*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _fxo01: 265*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xdst$non_lazy_ptr, [[EAX:%e.x]] 266*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 267*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 268*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 269*9880d681SAndroid Build Coastguard Worker 270*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _fxo01: 271*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L3$pb 272*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L3$pb: 273*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[R0:%e..]] 274*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L3$pb([[R0]]), [[R1:%e..]] 275*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L3$pb([[R0]]), [[R2:%e..]] 276*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[R1:%e..]], ([[R2]]) 277*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 278*9880d681SAndroid Build Coastguard Worker 279*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _fxo01: 280*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 281*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 282*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], ([[RCX]]) 283*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 284*9880d681SAndroid Build Coastguard Worker 285*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _fxo01: 286*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 287*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 288*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], ([[RCX]]) 289*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 290*9880d681SAndroid Build Coastguard Worker 291*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _fxo01: 292*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 293*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 294*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 295*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 296*9880d681SAndroid Build Coastguard Worker} 297*9880d681SAndroid Build Coastguard Worker 298*9880d681SAndroid Build Coastguard Workerdefine void @foo02() nounwind { 299*9880d681SAndroid Build Coastguard Workerentry: 300*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 301*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 0), align 4 302*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %0, align 4 303*9880d681SAndroid Build Coastguard Worker ret void 304*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: foo02: 305*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src(%rip), % 306*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), % 307*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl 308*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 309*9880d681SAndroid Build Coastguard Worker 310*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: foo02: 311*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl src, [[EAX:%e.x]] 312*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]] 313*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ([[ECX]]) 314*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 315*9880d681SAndroid Build Coastguard Worker 316*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: foo02: 317*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl src, [[EAX:%e.x]] 318*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]] 319*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ([[ECX]]) 320*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 321*9880d681SAndroid Build Coastguard Worker 322*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: foo02: 323*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 324*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 325*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 326*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 327*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 328*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 329*9880d681SAndroid Build Coastguard Worker 330*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _foo02: 331*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _src, [[EAX:%e.x]] 332*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[ECX:%e.x]] 333*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], ([[ECX]]) 334*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 335*9880d681SAndroid Build Coastguard Worker 336*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _foo02: 337*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_src$non_lazy_ptr, [[EAX:%e.x]] 338*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 339*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 340*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[ECX]]), [[ECX:%e.x]] 341*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 342*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 343*9880d681SAndroid Build Coastguard Worker 344*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _foo02: 345*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L4$pb 346*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L4$pb: 347*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[R0:%e..]] 348*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L4$pb([[R0]]), [[R1:%e..]] 349*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[R1]]), [[R2:%e..]] 350*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L4$pb([[R0]]), [[R3:%e..]] 351*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[R3]]), [[R4:%e..]] 352*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[R2]], ([[R4]]) 353*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 354*9880d681SAndroid Build Coastguard Worker 355*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _foo02: 356*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 357*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 358*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 359*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 360*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]]) 361*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 362*9880d681SAndroid Build Coastguard Worker 363*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _foo02: 364*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 365*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 366*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 367*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 368*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]]) 369*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 370*9880d681SAndroid Build Coastguard Worker 371*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _foo02: 372*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 373*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 374*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 375*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 376*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 377*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 378*9880d681SAndroid Build Coastguard Worker} 379*9880d681SAndroid Build Coastguard Worker 380*9880d681SAndroid Build Coastguard Workerdefine void @fxo02() nounwind { 381*9880d681SAndroid Build Coastguard Workerentry: 382*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 383*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([32 x i32], [32 x i32]* @xsrc, i32 0, i64 0), align 4 384*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %0, align 4 385*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: fxo02: 386*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl xsrc(%rip), % 387*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), % 388*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl 389*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 390*9880d681SAndroid Build Coastguard Worker 391*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: fxo02: 392*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl xsrc, [[EAX:%e.x]] 393*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]] 394*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ([[ECX]]) 395*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 396*9880d681SAndroid Build Coastguard Worker ret void 397*9880d681SAndroid Build Coastguard Worker 398*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: fxo02: 399*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl xsrc, [[EAX:%e.x]] 400*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]] 401*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ([[ECX]]) 402*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 403*9880d681SAndroid Build Coastguard Worker 404*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: fxo02: 405*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 406*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 407*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 408*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 409*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 410*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 411*9880d681SAndroid Build Coastguard Worker 412*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _fxo02: 413*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _xsrc, [[EAX:%e.x]] 414*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[ECX:%e.x]] 415*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], ([[ECX]]) 416*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 417*9880d681SAndroid Build Coastguard Worker 418*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _fxo02: 419*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xsrc$non_lazy_ptr, [[EAX:%e.x]] 420*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 421*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 422*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[ECX]]), [[ECX:%e.x]] 423*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 424*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 425*9880d681SAndroid Build Coastguard Worker 426*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _fxo02: 427*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L5$pb 428*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L5$pb: 429*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 430*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L5$pb([[EAX]]), [[ECX:%e.x]] 431*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[ECX]]), [[ECX:%e.x]] 432*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L5$pb([[EAX]]), [[EAX:%e.x]] 433*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 434*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 435*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 436*9880d681SAndroid Build Coastguard Worker 437*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _fxo02: 438*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 439*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 440*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 441*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 442*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]]) 443*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 444*9880d681SAndroid Build Coastguard Worker 445*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _fxo02: 446*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 447*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 448*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 449*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 450*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]]) 451*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 452*9880d681SAndroid Build Coastguard Worker 453*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _fxo02: 454*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 455*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 456*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 457*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 458*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 459*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 460*9880d681SAndroid Build Coastguard Worker} 461*9880d681SAndroid Build Coastguard Worker 462*9880d681SAndroid Build Coastguard Workerdefine void @foo03() nounwind { 463*9880d681SAndroid Build Coastguard Workerentry: 464*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 0), align 32 465*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 0), align 32 466*9880d681SAndroid Build Coastguard Worker ret void 467*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: foo03: 468*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc(%rip), [[EAX:%e.x]] 469*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ddst 470*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 471*9880d681SAndroid Build Coastguard Worker 472*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: foo03: 473*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl dsrc, [[EAX:%e.x]] 474*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ddst 475*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 476*9880d681SAndroid Build Coastguard Worker 477*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: foo03: 478*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl dsrc, [[EAX:%e.x]] 479*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ddst 480*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 481*9880d681SAndroid Build Coastguard Worker 482*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: foo03: 483*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 484*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 485*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]] 486*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 487*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 488*9880d681SAndroid Build Coastguard Worker 489*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _foo03: 490*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _dsrc, [[EAX:%e.x]] 491*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ddst 492*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 493*9880d681SAndroid Build Coastguard Worker 494*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _foo03: 495*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _dsrc, [[EAX:%e.x]] 496*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _ddst 497*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 498*9880d681SAndroid Build Coastguard Worker 499*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _foo03: 500*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L6$pb 501*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L6$pb: 502*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 503*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dsrc-L6$pb([[EAX]]), [[ECX:%e.x]] 504*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _ddst-L6$pb([[EAX]]) 505*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 506*9880d681SAndroid Build Coastguard Worker 507*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _foo03: 508*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _dsrc(%rip), [[EAX:%e.x]] 509*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], _ddst(%rip) 510*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 511*9880d681SAndroid Build Coastguard Worker 512*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _foo03: 513*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _dsrc(%rip), [[EAX:%e.x]] 514*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], _ddst(%rip) 515*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 516*9880d681SAndroid Build Coastguard Worker 517*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _foo03: 518*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _dsrc(%rip), [[EAX:%e.x]] 519*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], _ddst(%rip) 520*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 521*9880d681SAndroid Build Coastguard Worker} 522*9880d681SAndroid Build Coastguard Worker 523*9880d681SAndroid Build Coastguard Workerdefine void @foo04() nounwind { 524*9880d681SAndroid Build Coastguard Workerentry: 525*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i32 0), i32** @dptr, align 8 526*9880d681SAndroid Build Coastguard Worker ret void 527*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: foo04: 528*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $ddst, dptr 529*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 530*9880d681SAndroid Build Coastguard Worker 531*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: foo04: 532*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ddst, dptr 533*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 534*9880d681SAndroid Build Coastguard Worker 535*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: foo04: 536*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ddst, dptr 537*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 538*9880d681SAndroid Build Coastguard Worker 539*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: foo04: 540*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]] 541*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 542*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 543*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 544*9880d681SAndroid Build Coastguard Worker 545*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _foo04: 546*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ddst, _dptr 547*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 548*9880d681SAndroid Build Coastguard Worker 549*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _foo04: 550*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ddst, _dptr 551*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 552*9880d681SAndroid Build Coastguard Worker 553*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _foo04: 554*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L7$pb 555*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L7$pb: 556*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 557*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _ddst-L7$pb([[EAX]]), [[ECX:%e.x]] 558*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L7$pb([[EAX]]) 559*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 560*9880d681SAndroid Build Coastguard Worker 561*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _foo04: 562*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst(%rip), [[RAX:%r.x]] 563*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _dptr(%rip) 564*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 565*9880d681SAndroid Build Coastguard Worker 566*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _foo04: 567*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst(%rip), [[RAX:%r.x]] 568*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _dptr(%rip) 569*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 570*9880d681SAndroid Build Coastguard Worker 571*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _foo04: 572*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]] 573*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip) 574*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 575*9880d681SAndroid Build Coastguard Worker} 576*9880d681SAndroid Build Coastguard Worker 577*9880d681SAndroid Build Coastguard Workerdefine void @foo05() nounwind { 578*9880d681SAndroid Build Coastguard Workerentry: 579*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 580*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 0), align 32 581*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %0, align 4 582*9880d681SAndroid Build Coastguard Worker ret void 583*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: foo05: 584*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc(%rip), % 585*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq dptr(%rip), % 586*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl 587*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 588*9880d681SAndroid Build Coastguard Worker 589*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: foo05: 590*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl dsrc, [[EAX:%e.x]] 591*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dptr, [[ECX:%e.x]] 592*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ([[ECX]]) 593*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 594*9880d681SAndroid Build Coastguard Worker 595*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: foo05: 596*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl dsrc, [[EAX:%e.x]] 597*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dptr, [[ECX:%e.x]] 598*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ([[ECX]]) 599*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 600*9880d681SAndroid Build Coastguard Worker 601*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: foo05: 602*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 603*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]]), [[EAX:%e.x]] 604*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 605*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 606*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 607*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 608*9880d681SAndroid Build Coastguard Worker 609*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _foo05: 610*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _dsrc, [[EAX:%e.x]] 611*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dptr, [[ECX:%e.x]] 612*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], ([[ECX]]) 613*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 614*9880d681SAndroid Build Coastguard Worker 615*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _foo05: 616*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _dsrc, [[EAX:%e.x]] 617*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dptr, [[ECX:%e.x]] 618*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 619*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 620*9880d681SAndroid Build Coastguard Worker 621*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _foo05: 622*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L8$pb 623*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L8$pb: 624*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 625*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dsrc-L8$pb([[EAX]]), [[ECX:%e.x]] 626*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dptr-L8$pb([[EAX]]), [[EAX:%e.x]] 627*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 628*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 629*9880d681SAndroid Build Coastguard Worker 630*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _foo05: 631*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _dsrc(%rip), [[EAX:%e.x]] 632*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 633*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]]) 634*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 635*9880d681SAndroid Build Coastguard Worker 636*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _foo05: 637*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _dsrc(%rip), [[EAX:%e.x]] 638*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 639*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]]) 640*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 641*9880d681SAndroid Build Coastguard Worker 642*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _foo05: 643*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _dsrc(%rip), [[EAX:%e.x]] 644*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 645*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 646*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 647*9880d681SAndroid Build Coastguard Worker} 648*9880d681SAndroid Build Coastguard Worker 649*9880d681SAndroid Build Coastguard Workerdefine void @foo06() nounwind { 650*9880d681SAndroid Build Coastguard Workerentry: 651*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 0), align 4 652*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 0), align 4 653*9880d681SAndroid Build Coastguard Worker ret void 654*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: foo06: 655*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc(%rip), [[EAX:%e.x]] 656*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ldst(%rip) 657*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 658*9880d681SAndroid Build Coastguard Worker 659*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: foo06: 660*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl lsrc, [[EAX:%e.x]] 661*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ldst 662*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 663*9880d681SAndroid Build Coastguard Worker 664*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: foo06: 665*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl lsrc, [[EAX:%e.x]] 666*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ldst 667*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 668*9880d681SAndroid Build Coastguard Worker 669*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: foo06: 670*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl lsrc(%rip), [[EAX:%e.x]] 671*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ldst(%rip) 672*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 673*9880d681SAndroid Build Coastguard Worker 674*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _foo06: 675*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _lsrc, [[EAX:%e.x]] 676*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ldst 677*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 678*9880d681SAndroid Build Coastguard Worker 679*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _foo06: 680*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _lsrc, [[EAX:%e.x]] 681*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _ldst 682*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 683*9880d681SAndroid Build Coastguard Worker 684*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _foo06: 685*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L9$pb 686*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L9$pb: 687*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 688*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lsrc-L9$pb([[EAX]]), [[ECX:%e.x]] 689*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _ldst-L9$pb([[EAX]]) 690*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 691*9880d681SAndroid Build Coastguard Worker 692*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _foo06: 693*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _lsrc(%rip), [[EAX:%e.x]] 694*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], _ldst(%rip) 695*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 696*9880d681SAndroid Build Coastguard Worker 697*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _foo06: 698*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _lsrc(%rip), [[EAX:%e.x]] 699*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], _ldst(%rip) 700*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 701*9880d681SAndroid Build Coastguard Worker 702*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _foo06: 703*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _lsrc(%rip), [[EAX:%e.x]] 704*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], _ldst(%rip) 705*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 706*9880d681SAndroid Build Coastguard Worker} 707*9880d681SAndroid Build Coastguard Worker 708*9880d681SAndroid Build Coastguard Workerdefine void @foo07() nounwind { 709*9880d681SAndroid Build Coastguard Workerentry: 710*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i32 0), i32** @lptr, align 8 711*9880d681SAndroid Build Coastguard Worker ret void 712*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: foo07: 713*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $ldst, lptr 714*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 715*9880d681SAndroid Build Coastguard Worker 716*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: foo07: 717*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ldst, lptr 718*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 719*9880d681SAndroid Build Coastguard Worker 720*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: foo07: 721*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ldst, lptr 722*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 723*9880d681SAndroid Build Coastguard Worker 724*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: foo07: 725*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]] 726*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip) 727*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 728*9880d681SAndroid Build Coastguard Worker 729*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _foo07: 730*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ldst, _lptr 731*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 732*9880d681SAndroid Build Coastguard Worker 733*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _foo07: 734*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ldst, _lptr 735*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 736*9880d681SAndroid Build Coastguard Worker 737*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _foo07: 738*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L10$pb 739*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L10$pb: 740*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 741*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _ldst-L10$pb([[EAX]]), [[ECX:%e.x]] 742*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L10$pb([[EAX]]) 743*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 744*9880d681SAndroid Build Coastguard Worker 745*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _foo07: 746*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst(%rip), [[RAX:%r.x]] 747*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _lptr(%rip) 748*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 749*9880d681SAndroid Build Coastguard Worker 750*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _foo07: 751*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst(%rip), [[RAX:%r.x]] 752*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _lptr(%rip) 753*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 754*9880d681SAndroid Build Coastguard Worker 755*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _foo07: 756*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]] 757*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip) 758*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 759*9880d681SAndroid Build Coastguard Worker} 760*9880d681SAndroid Build Coastguard Worker 761*9880d681SAndroid Build Coastguard Workerdefine void @foo08() nounwind { 762*9880d681SAndroid Build Coastguard Workerentry: 763*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 764*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 0), align 4 765*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %0, align 4 766*9880d681SAndroid Build Coastguard Worker ret void 767*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: foo08: 768*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc(%rip), % 769*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq lptr(%rip), % 770*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl 771*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 772*9880d681SAndroid Build Coastguard Worker 773*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: foo08: 774*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl lsrc, [[EAX:%e.x]] 775*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lptr, [[ECX:%e.x]] 776*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ([[ECX]]) 777*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 778*9880d681SAndroid Build Coastguard Worker 779*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: foo08: 780*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl lsrc, [[EAX:%e.x]] 781*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lptr, [[ECX:%e.x]] 782*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ([[ECX]]) 783*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 784*9880d681SAndroid Build Coastguard Worker 785*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: foo08: 786*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl lsrc(%rip), [[EAX:%e.x]] 787*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]] 788*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 789*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 790*9880d681SAndroid Build Coastguard Worker 791*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _foo08: 792*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _lsrc, [[EAX:%e.x]] 793*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lptr, [[ECX:%e.x]] 794*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], ([[ECX]]) 795*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 796*9880d681SAndroid Build Coastguard Worker 797*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _foo08: 798*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _lsrc, [[EAX:%e.x]] 799*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lptr, [[ECX:%e.x]] 800*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 801*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 802*9880d681SAndroid Build Coastguard Worker 803*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _foo08: 804*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L11$pb 805*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L11$pb: 806*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 807*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lsrc-L11$pb([[EAX]]), [[ECX:%e.x]] 808*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lptr-L11$pb([[EAX]]), [[EAX:%e.x]] 809*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 810*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 811*9880d681SAndroid Build Coastguard Worker 812*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _foo08: 813*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _lsrc(%rip), [[EAX:%e.x]] 814*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 815*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]]) 816*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 817*9880d681SAndroid Build Coastguard Worker 818*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _foo08: 819*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _lsrc(%rip), [[EAX:%e.x]] 820*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 821*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]]) 822*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 823*9880d681SAndroid Build Coastguard Worker 824*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _foo08: 825*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _lsrc(%rip), [[EAX:%e.x]] 826*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 827*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]]) 828*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 829*9880d681SAndroid Build Coastguard Worker} 830*9880d681SAndroid Build Coastguard Worker 831*9880d681SAndroid Build Coastguard Workerdefine void @qux00() nounwind { 832*9880d681SAndroid Build Coastguard Workerentry: 833*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 16), align 4 834*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 16), align 4 835*9880d681SAndroid Build Coastguard Worker ret void 836*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qux00: 837*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src+64(%rip), [[EAX:%e.x]] 838*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], dst+64(%rip) 839*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 840*9880d681SAndroid Build Coastguard Worker 841*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qux00: 842*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl src+64, [[EAX:%e.x]] 843*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], dst+64 844*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 845*9880d681SAndroid Build Coastguard Worker 846*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qux00: 847*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl src+64, [[EAX:%e.x]] 848*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], dst+64 849*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 850*9880d681SAndroid Build Coastguard Worker 851*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qux00: 852*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 853*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 854*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r.x]] 855*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 856*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 857*9880d681SAndroid Build Coastguard Worker 858*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qux00: 859*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _src+64, [[EAX:%e.x]] 860*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _dst+64 861*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 862*9880d681SAndroid Build Coastguard Worker 863*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qux00: 864*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_src$non_lazy_ptr, [[EAX:%e.x]] 865*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 64([[EAX]]), [[EAX:%e.x]] 866*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_dst$non_lazy_ptr, [[ECX:%e.x]] 867*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], 64([[ECX]]) 868*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 869*9880d681SAndroid Build Coastguard Worker 870*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qux00: 871*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L12$pb 872*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L12$pb: 873*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 874*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L12$pb([[EAX]]), [[ECX:%e.x]] 875*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 64([[ECX]]), [[ECX:%e.x]] 876*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L12$pb([[EAX]]), [[EAX:%e.x]] 877*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]]) 878*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 879*9880d681SAndroid Build Coastguard Worker 880*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qux00: 881*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 882*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 883*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 884*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]]) 885*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 886*9880d681SAndroid Build Coastguard Worker 887*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qux00: 888*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 889*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 890*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 891*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]]) 892*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 893*9880d681SAndroid Build Coastguard Worker 894*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qux00: 895*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 896*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 897*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 898*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 899*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 900*9880d681SAndroid Build Coastguard Worker} 901*9880d681SAndroid Build Coastguard Worker 902*9880d681SAndroid Build Coastguard Workerdefine void @qxx00() nounwind { 903*9880d681SAndroid Build Coastguard Workerentry: 904*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([32 x i32], [32 x i32]* @xsrc, i32 0, i64 16), align 4 905*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i64 16), align 4 906*9880d681SAndroid Build Coastguard Worker ret void 907*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qxx00: 908*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl xsrc+64(%rip), [[EAX:%e.x]] 909*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], xdst+64(%rip) 910*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 911*9880d681SAndroid Build Coastguard Worker 912*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qxx00: 913*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl xsrc+64, [[EAX:%e.x]] 914*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], xdst+64 915*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 916*9880d681SAndroid Build Coastguard Worker 917*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qxx00: 918*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl xsrc+64, [[EAX:%e.x]] 919*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], xdst+64 920*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 921*9880d681SAndroid Build Coastguard Worker 922*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qxx00: 923*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 924*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 925*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), [[RCX:%r.x]] 926*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 927*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 928*9880d681SAndroid Build Coastguard Worker 929*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qxx00: 930*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _xsrc+64, [[EAX:%e.x]] 931*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _xdst+64 932*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 933*9880d681SAndroid Build Coastguard Worker 934*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qxx00: 935*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xsrc$non_lazy_ptr, [[EAX:%e.x]] 936*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 64([[EAX]]), [[EAX:%e.x]] 937*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xdst$non_lazy_ptr, [[ECX:%e.x]] 938*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], 64([[ECX]]) 939*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 940*9880d681SAndroid Build Coastguard Worker 941*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qxx00: 942*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L13$pb 943*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L13$pb: 944*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 945*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L13$pb([[EAX]]), [[ECX:%e.x]] 946*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 64([[ECX]]), [[ECX:%e.x]] 947*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L13$pb([[EAX]]), [[EAX:%e.x]] 948*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]]) 949*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 950*9880d681SAndroid Build Coastguard Worker 951*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qxx00: 952*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 953*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 954*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 955*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]]) 956*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 957*9880d681SAndroid Build Coastguard Worker 958*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qxx00: 959*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 960*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 961*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 962*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]]) 963*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 964*9880d681SAndroid Build Coastguard Worker 965*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qxx00: 966*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 967*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 968*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 969*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 970*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 971*9880d681SAndroid Build Coastguard Worker} 972*9880d681SAndroid Build Coastguard Worker 973*9880d681SAndroid Build Coastguard Workerdefine void @qux01() nounwind { 974*9880d681SAndroid Build Coastguard Workerentry: 975*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 16), i32** @ptr, align 8 976*9880d681SAndroid Build Coastguard Worker ret void 977*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qux01: 978*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $dst+64, ptr 979*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 980*9880d681SAndroid Build Coastguard Worker 981*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qux01: 982*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dst+64, ptr 983*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 984*9880d681SAndroid Build Coastguard Worker 985*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qux01: 986*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dst+64, ptr 987*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 988*9880d681SAndroid Build Coastguard Worker 989*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qux01: 990*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]] 991*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, [[RAX:%r.x]] 992*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 993*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 994*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 995*9880d681SAndroid Build Coastguard Worker 996*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qux01: 997*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dst+64, _ptr 998*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 999*9880d681SAndroid Build Coastguard Worker 1000*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qux01: 1001*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_dst$non_lazy_ptr, [[EAX:%e.x]] 1002*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $64, [[EAX:%e.x]] 1003*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 1004*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 1005*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1006*9880d681SAndroid Build Coastguard Worker 1007*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qux01: 1008*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L14$pb 1009*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L14$pb: 1010*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1011*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L14$pb([[EAX]]), [[ECX:%e.x]] 1012*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $64, [[ECX:%e.x]] 1013*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L14$pb([[EAX]]), [[EAX:%e.x]] 1014*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 1015*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1016*9880d681SAndroid Build Coastguard Worker 1017*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qux01: 1018*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 1019*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq $64, [[RAX:%r.x]] 1020*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1021*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], ([[RCX]]) 1022*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1023*9880d681SAndroid Build Coastguard Worker 1024*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qux01: 1025*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 1026*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq $64, [[RAX:%r.x]] 1027*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1028*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], ([[RCX]]) 1029*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1030*9880d681SAndroid Build Coastguard Worker 1031*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qux01: 1032*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 1033*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq $64, [[RAX:%r.x]] 1034*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1035*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 1036*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1037*9880d681SAndroid Build Coastguard Worker} 1038*9880d681SAndroid Build Coastguard Worker 1039*9880d681SAndroid Build Coastguard Workerdefine void @qxx01() nounwind { 1040*9880d681SAndroid Build Coastguard Workerentry: 1041*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i64 16), i32** @ptr, align 8 1042*9880d681SAndroid Build Coastguard Worker ret void 1043*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qxx01: 1044*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $xdst+64, ptr 1045*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1046*9880d681SAndroid Build Coastguard Worker 1047*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qxx01: 1048*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $xdst+64, ptr 1049*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1050*9880d681SAndroid Build Coastguard Worker 1051*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qxx01: 1052*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $xdst+64, ptr 1053*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1054*9880d681SAndroid Build Coastguard Worker 1055*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qxx01: 1056*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), [[RAX:%r.x]] 1057*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, [[RAX:%r.x]] 1058*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1059*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 1060*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1061*9880d681SAndroid Build Coastguard Worker 1062*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qxx01: 1063*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_xdst+64, _ptr 1064*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1065*9880d681SAndroid Build Coastguard Worker 1066*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qxx01: 1067*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xdst$non_lazy_ptr, [[EAX:%e.x]] 1068*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $64, [[EAX:%e.x]] 1069*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 1070*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 1071*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1072*9880d681SAndroid Build Coastguard Worker 1073*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qxx01: 1074*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L15$pb 1075*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L15$pb: 1076*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1077*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L15$pb([[EAX]]), [[ECX:%e.x]] 1078*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $64, [[ECX:%e.x]] 1079*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L15$pb([[EAX]]), [[EAX:%e.x]] 1080*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 1081*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1082*9880d681SAndroid Build Coastguard Worker 1083*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qxx01: 1084*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 1085*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq $64, [[RAX:%r.x]] 1086*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1087*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], ([[RCX]]) 1088*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1089*9880d681SAndroid Build Coastguard Worker 1090*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qxx01: 1091*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 1092*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq $64, [[RAX:%r.x]] 1093*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1094*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], ([[RCX]]) 1095*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1096*9880d681SAndroid Build Coastguard Worker 1097*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qxx01: 1098*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 1099*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq $64, [[RAX:%r.x]] 1100*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1101*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 1102*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1103*9880d681SAndroid Build Coastguard Worker} 1104*9880d681SAndroid Build Coastguard Worker 1105*9880d681SAndroid Build Coastguard Workerdefine void @qux02() nounwind { 1106*9880d681SAndroid Build Coastguard Workerentry: 1107*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 1108*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 16), align 4 1109*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 16 1110*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 1111*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qux02: 1112*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src+64(%rip), [[EAX:%e.x]] 1113*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]] 1114*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]]) 1115*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1116*9880d681SAndroid Build Coastguard Worker 1117*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qux02: 1118*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl src+64, [[EAX:%e.x]] 1119*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]] 1120*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]]) 1121*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1122*9880d681SAndroid Build Coastguard Worker ret void 1123*9880d681SAndroid Build Coastguard Worker 1124*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qux02: 1125*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl src+64, [[EAX:%e.x]] 1126*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]] 1127*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], 64([[ECX]]) 1128*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1129*9880d681SAndroid Build Coastguard Worker 1130*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qux02: 1131*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 1132*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 1133*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1134*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 1135*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 1136*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1137*9880d681SAndroid Build Coastguard Worker 1138*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qux02: 1139*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _src+64, [[EAX:%e.x]] 1140*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[ECX:%e.x]] 1141*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]]) 1142*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1143*9880d681SAndroid Build Coastguard Worker 1144*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qux02: 1145*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_src$non_lazy_ptr, [[EAX:%e.x]] 1146*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 64([[EAX]]), [[EAX:%e.x]] 1147*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 1148*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[ECX]]), [[ECX:%e.x]] 1149*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], 64([[ECX]]) 1150*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1151*9880d681SAndroid Build Coastguard Worker 1152*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qux02: 1153*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L16$pb 1154*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L16$pb: 1155*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1156*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L16$pb([[EAX]]), [[ECX:%e.x]] 1157*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 64([[ECX]]), [[ECX:%e.x]] 1158*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L16$pb([[EAX]]), [[EAX:%e.x]] 1159*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 1160*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]]) 1161*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1162*9880d681SAndroid Build Coastguard Worker 1163*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qux02: 1164*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 1165*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 1166*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1167*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 1168*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]]) 1169*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1170*9880d681SAndroid Build Coastguard Worker 1171*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qux02: 1172*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 1173*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 1174*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1175*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 1176*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]]) 1177*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1178*9880d681SAndroid Build Coastguard Worker 1179*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qux02: 1180*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 1181*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 1182*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1183*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 1184*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 1185*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1186*9880d681SAndroid Build Coastguard Worker} 1187*9880d681SAndroid Build Coastguard Worker 1188*9880d681SAndroid Build Coastguard Workerdefine void @qxx02() nounwind { 1189*9880d681SAndroid Build Coastguard Workerentry: 1190*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 1191*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([32 x i32], [32 x i32]* @xsrc, i32 0, i64 16), align 4 1192*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 16 1193*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 1194*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qxx02: 1195*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl xsrc+64(%rip), [[EAX:%e.x]] 1196*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]] 1197*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]]) 1198*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1199*9880d681SAndroid Build Coastguard Worker 1200*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qxx02: 1201*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl xsrc+64, [[EAX:%e.x]] 1202*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]] 1203*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]]) 1204*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1205*9880d681SAndroid Build Coastguard Worker ret void 1206*9880d681SAndroid Build Coastguard Worker 1207*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qxx02: 1208*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl xsrc+64, [[EAX:%e.x]] 1209*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]] 1210*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], 64([[ECX]]) 1211*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1212*9880d681SAndroid Build Coastguard Worker 1213*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qxx02: 1214*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 1215*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 1216*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1217*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 1218*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 1219*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1220*9880d681SAndroid Build Coastguard Worker 1221*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qxx02: 1222*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _xsrc+64, [[EAX:%e.x]] 1223*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[ECX:%e.x]] 1224*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]]) 1225*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1226*9880d681SAndroid Build Coastguard Worker 1227*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qxx02: 1228*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xsrc$non_lazy_ptr, [[EAX:%e.x]] 1229*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 64([[EAX]]), [[EAX:%e.x]] 1230*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 1231*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[ECX]]), [[ECX:%e.x]] 1232*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], 64([[ECX]]) 1233*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1234*9880d681SAndroid Build Coastguard Worker 1235*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qxx02: 1236*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L17$pb 1237*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L17$pb: 1238*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1239*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L17$pb([[EAX]]), [[ECX:%e.x]] 1240*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 64([[ECX]]), [[ECX:%e.x]] 1241*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L17$pb([[EAX]]), [[EAX:%e.x]] 1242*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 1243*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]]) 1244*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1245*9880d681SAndroid Build Coastguard Worker 1246*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qxx02: 1247*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 1248*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 1249*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1250*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 1251*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]]) 1252*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1253*9880d681SAndroid Build Coastguard Worker 1254*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qxx02: 1255*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 1256*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 1257*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1258*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 1259*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]]) 1260*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1261*9880d681SAndroid Build Coastguard Worker 1262*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qxx02: 1263*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 1264*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 1265*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1266*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 1267*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 1268*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1269*9880d681SAndroid Build Coastguard Worker} 1270*9880d681SAndroid Build Coastguard Worker 1271*9880d681SAndroid Build Coastguard Workerdefine void @qux03() nounwind { 1272*9880d681SAndroid Build Coastguard Workerentry: 1273*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 16), align 32 1274*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 16), align 32 1275*9880d681SAndroid Build Coastguard Worker ret void 1276*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qux03: 1277*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc+64(%rip), [[EAX:%e.x]] 1278*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ddst+64(%rip) 1279*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1280*9880d681SAndroid Build Coastguard Worker 1281*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qux03: 1282*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl dsrc+64, [[EAX:%e.x]] 1283*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ddst+64 1284*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1285*9880d681SAndroid Build Coastguard Worker 1286*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qux03: 1287*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl dsrc+64, [[EAX:%e.x]] 1288*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ddst+64 1289*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1290*9880d681SAndroid Build Coastguard Worker 1291*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qux03: 1292*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 1293*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 1294*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]] 1295*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 1296*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1297*9880d681SAndroid Build Coastguard Worker 1298*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qux03: 1299*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _dsrc+64, [[EAX:%e.x]] 1300*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ddst+64 1301*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1302*9880d681SAndroid Build Coastguard Worker 1303*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qux03: 1304*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _dsrc+64, [[EAX:%e.x]] 1305*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _ddst+64 1306*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1307*9880d681SAndroid Build Coastguard Worker 1308*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qux03: 1309*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L18$pb 1310*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L18$pb: 1311*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1312*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_dsrc-L18$pb)+64([[EAX]]), [[ECX:%e.x]] 1313*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], (_ddst-L18$pb)+64([[EAX]]) 1314*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1315*9880d681SAndroid Build Coastguard Worker 1316*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qux03: 1317*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _dsrc+64(%rip), [[EAX:%e.x]] 1318*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], _ddst+64(%rip) 1319*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1320*9880d681SAndroid Build Coastguard Worker 1321*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qux03: 1322*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _dsrc+64(%rip), [[EAX:%e.x]] 1323*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], _ddst+64(%rip) 1324*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1325*9880d681SAndroid Build Coastguard Worker 1326*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qux03: 1327*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _dsrc+64(%rip), [[EAX:%e.x]] 1328*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], _ddst+64(%rip) 1329*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1330*9880d681SAndroid Build Coastguard Worker} 1331*9880d681SAndroid Build Coastguard Worker 1332*9880d681SAndroid Build Coastguard Workerdefine void @qux04() nounwind { 1333*9880d681SAndroid Build Coastguard Workerentry: 1334*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 16), i32** @dptr, align 8 1335*9880d681SAndroid Build Coastguard Worker ret void 1336*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qux04: 1337*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $ddst+64, dptr(%rip) 1338*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1339*9880d681SAndroid Build Coastguard Worker 1340*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qux04: 1341*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ddst+64, dptr 1342*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1343*9880d681SAndroid Build Coastguard Worker 1344*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qux04: 1345*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ddst+64, dptr 1346*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1347*9880d681SAndroid Build Coastguard Worker 1348*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qux04: 1349*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]] 1350*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, [[RAX:%r.x]] 1351*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 1352*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 1353*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1354*9880d681SAndroid Build Coastguard Worker 1355*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qux04: 1356*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ddst+64, _dptr 1357*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1358*9880d681SAndroid Build Coastguard Worker 1359*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qux04: 1360*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ddst+64, _dptr 1361*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1362*9880d681SAndroid Build Coastguard Worker 1363*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qux04: 1364*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L19$pb 1365*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L19$pb: 1366*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1367*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ddst-L19$pb)+64([[EAX]]), [[ECX:%e.x]] 1368*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L19$pb([[EAX]]) 1369*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1370*9880d681SAndroid Build Coastguard Worker 1371*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qux04: 1372*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst+64(%rip), [[RAX:%r.x]] 1373*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _dptr(%rip) 1374*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1375*9880d681SAndroid Build Coastguard Worker 1376*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qux04: 1377*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst+64(%rip), [[RAX:%r.x]] 1378*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _dptr(%rip) 1379*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1380*9880d681SAndroid Build Coastguard Worker 1381*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qux04: 1382*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst+64(%rip), [[RAX:%r.x]] 1383*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip) 1384*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1385*9880d681SAndroid Build Coastguard Worker} 1386*9880d681SAndroid Build Coastguard Worker 1387*9880d681SAndroid Build Coastguard Workerdefine void @qux05() nounwind { 1388*9880d681SAndroid Build Coastguard Workerentry: 1389*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 1390*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 16), align 32 1391*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 16 1392*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 1393*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qux05: 1394*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc+64(%rip), [[EAX:%e.x]] 1395*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq dptr(%rip), [[RCX:%r.x]] 1396*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]]) 1397*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1398*9880d681SAndroid Build Coastguard Worker 1399*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qux05: 1400*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl dsrc+64, [[EAX:%e.x]] 1401*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dptr, [[ECX:%e.x]] 1402*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]]) 1403*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1404*9880d681SAndroid Build Coastguard Worker ret void 1405*9880d681SAndroid Build Coastguard Worker 1406*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qux05: 1407*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl dsrc+64, [[EAX:%e.x]] 1408*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dptr, [[ECX:%e.x]] 1409*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], 64([[ECX]]) 1410*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1411*9880d681SAndroid Build Coastguard Worker 1412*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qux05: 1413*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 1414*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]]), [[EAX:%e.x]] 1415*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 1416*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 1417*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 1418*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1419*9880d681SAndroid Build Coastguard Worker 1420*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qux05: 1421*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _dsrc+64, [[EAX:%e.x]] 1422*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dptr, [[ECX:%e.x]] 1423*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]]) 1424*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1425*9880d681SAndroid Build Coastguard Worker 1426*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qux05: 1427*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _dsrc+64, [[EAX:%e.x]] 1428*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dptr, [[ECX:%e.x]] 1429*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], 64([[ECX]]) 1430*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1431*9880d681SAndroid Build Coastguard Worker 1432*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qux05: 1433*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L20$pb 1434*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L20$pb: 1435*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1436*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_dsrc-L20$pb)+64([[EAX]]), [[ECX:%e.x]] 1437*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dptr-L20$pb([[EAX]]), [[EAX:%e.x]] 1438*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]]) 1439*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1440*9880d681SAndroid Build Coastguard Worker 1441*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qux05: 1442*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _dsrc+64(%rip), [[EAX:%e.x]] 1443*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 1444*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]]) 1445*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1446*9880d681SAndroid Build Coastguard Worker 1447*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qux05: 1448*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _dsrc+64(%rip), [[EAX:%e.x]] 1449*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 1450*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]]) 1451*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1452*9880d681SAndroid Build Coastguard Worker 1453*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qux05: 1454*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _dsrc+64(%rip), [[EAX:%e.x]] 1455*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 1456*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 1457*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1458*9880d681SAndroid Build Coastguard Worker} 1459*9880d681SAndroid Build Coastguard Worker 1460*9880d681SAndroid Build Coastguard Workerdefine void @qux06() nounwind { 1461*9880d681SAndroid Build Coastguard Workerentry: 1462*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 16), align 4 1463*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 16), align 4 1464*9880d681SAndroid Build Coastguard Worker ret void 1465*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qux06: 1466*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc+64(%rip), [[EAX:%e.x]] 1467*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ldst+64 1468*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1469*9880d681SAndroid Build Coastguard Worker 1470*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qux06: 1471*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl lsrc+64, [[EAX:%e.x]] 1472*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ldst+64 1473*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1474*9880d681SAndroid Build Coastguard Worker 1475*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qux06: 1476*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl lsrc+64, [[EAX:%e.x]] 1477*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ldst+64 1478*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1479*9880d681SAndroid Build Coastguard Worker 1480*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qux06: 1481*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl lsrc+64(%rip), [[EAX:%e.x]] 1482*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ldst+64(%rip) 1483*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1484*9880d681SAndroid Build Coastguard Worker 1485*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qux06: 1486*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _lsrc+64, [[EAX:%e.x]] 1487*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ldst+64 1488*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1489*9880d681SAndroid Build Coastguard Worker 1490*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qux06: 1491*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _lsrc+64, [[EAX:%e.x]] 1492*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _ldst+64 1493*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1494*9880d681SAndroid Build Coastguard Worker 1495*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qux06: 1496*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L21$pb 1497*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L21$pb: 1498*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1499*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_lsrc-L21$pb)+64([[EAX]]), [[ECX:%e.x]] 1500*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], (_ldst-L21$pb)+64([[EAX]]) 1501*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1502*9880d681SAndroid Build Coastguard Worker 1503*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qux06: 1504*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _lsrc+64(%rip), [[EAX:%e.x]] 1505*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], _ldst+64(%rip) 1506*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1507*9880d681SAndroid Build Coastguard Worker 1508*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qux06: 1509*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _lsrc+64(%rip), [[EAX:%e.x]] 1510*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], _ldst+64(%rip) 1511*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1512*9880d681SAndroid Build Coastguard Worker 1513*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qux06: 1514*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _lsrc+64(%rip), [[EAX:%e.x]] 1515*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], _ldst+64(%rip) 1516*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1517*9880d681SAndroid Build Coastguard Worker} 1518*9880d681SAndroid Build Coastguard Worker 1519*9880d681SAndroid Build Coastguard Workerdefine void @qux07() nounwind { 1520*9880d681SAndroid Build Coastguard Workerentry: 1521*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 16), i32** @lptr, align 8 1522*9880d681SAndroid Build Coastguard Worker ret void 1523*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qux07: 1524*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $ldst+64, lptr 1525*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1526*9880d681SAndroid Build Coastguard Worker 1527*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qux07: 1528*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ldst+64, lptr 1529*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1530*9880d681SAndroid Build Coastguard Worker 1531*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qux07: 1532*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ldst+64, lptr 1533*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1534*9880d681SAndroid Build Coastguard Worker 1535*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qux07: 1536*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst+64(%rip), [[RAX:%r.x]] 1537*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip) 1538*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1539*9880d681SAndroid Build Coastguard Worker 1540*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qux07: 1541*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ldst+64, _lptr 1542*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1543*9880d681SAndroid Build Coastguard Worker 1544*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qux07: 1545*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ldst+64, _lptr 1546*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1547*9880d681SAndroid Build Coastguard Worker 1548*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qux07: 1549*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L22$pb 1550*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L22$pb: 1551*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1552*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ldst-L22$pb)+64([[EAX]]), [[ECX:%e.x]] 1553*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L22$pb([[EAX]]) 1554*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1555*9880d681SAndroid Build Coastguard Worker 1556*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qux07: 1557*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst+64(%rip), [[RAX:%r.x]] 1558*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _lptr(%rip) 1559*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1560*9880d681SAndroid Build Coastguard Worker 1561*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qux07: 1562*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst+64(%rip), [[RAX:%r.x]] 1563*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _lptr(%rip) 1564*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1565*9880d681SAndroid Build Coastguard Worker 1566*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qux07: 1567*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst+64(%rip), [[RAX:%r.x]] 1568*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip) 1569*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1570*9880d681SAndroid Build Coastguard Worker} 1571*9880d681SAndroid Build Coastguard Worker 1572*9880d681SAndroid Build Coastguard Workerdefine void @qux08() nounwind { 1573*9880d681SAndroid Build Coastguard Workerentry: 1574*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 1575*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 16), align 4 1576*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 16 1577*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 1578*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: qux08: 1579*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc+64(%rip), [[EAX:%e.x]] 1580*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq lptr(%rip), [[RCX:%r.x]] 1581*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]]) 1582*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1583*9880d681SAndroid Build Coastguard Worker 1584*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: qux08: 1585*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl lsrc+64, [[EAX:%e.x]] 1586*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lptr, [[ECX:%e.x]] 1587*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]]) 1588*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1589*9880d681SAndroid Build Coastguard Worker ret void 1590*9880d681SAndroid Build Coastguard Worker 1591*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: qux08: 1592*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl lsrc+64, [[EAX:%e.x]] 1593*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lptr, [[ECX:%e.x]] 1594*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], 64([[ECX]]) 1595*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1596*9880d681SAndroid Build Coastguard Worker 1597*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: qux08: 1598*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl lsrc+64(%rip), [[EAX:%e.x]] 1599*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]] 1600*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 1601*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1602*9880d681SAndroid Build Coastguard Worker 1603*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _qux08: 1604*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _lsrc+64, [[EAX:%e.x]] 1605*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lptr, [[ECX:%e.x]] 1606*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], 64([[ECX]]) 1607*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1608*9880d681SAndroid Build Coastguard Worker 1609*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _qux08: 1610*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _lsrc+64, [[EAX:%e.x]] 1611*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lptr, [[ECX:%e.x]] 1612*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], 64([[ECX]]) 1613*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1614*9880d681SAndroid Build Coastguard Worker 1615*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _qux08: 1616*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L23$pb 1617*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L23$pb: 1618*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1619*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_lsrc-L23$pb)+64([[EAX]]), [[ECX:%e.x]] 1620*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lptr-L23$pb([[EAX]]), [[EAX:%e.x]] 1621*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], 64([[EAX]]) 1622*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1623*9880d681SAndroid Build Coastguard Worker 1624*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _qux08: 1625*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _lsrc+64(%rip), [[EAX:%e.x]] 1626*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 1627*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]]) 1628*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1629*9880d681SAndroid Build Coastguard Worker 1630*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _qux08: 1631*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _lsrc+64(%rip), [[EAX:%e.x]] 1632*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 1633*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]]) 1634*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1635*9880d681SAndroid Build Coastguard Worker 1636*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _qux08: 1637*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _lsrc+64(%rip), [[EAX:%e.x]] 1638*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 1639*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]]) 1640*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1641*9880d681SAndroid Build Coastguard Worker} 1642*9880d681SAndroid Build Coastguard Worker 1643*9880d681SAndroid Build Coastguard Workerdefine void @ind00(i64 %i) nounwind { 1644*9880d681SAndroid Build Coastguard Workerentry: 1645*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %i 1646*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %0, align 4 1647*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %i 1648*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 1649*9880d681SAndroid Build Coastguard Worker ret void 1650*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ind00: 1651*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src(,%rdi,4), [[EAX:%e.x]] 1652*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], dst(,%rdi,4) 1653*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1654*9880d681SAndroid Build Coastguard Worker 1655*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ind00: 1656*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 1657*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl src(,[[EAX]],4), [[ECX:%e.x]] 1658*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], dst(,[[EAX]],4) 1659*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1660*9880d681SAndroid Build Coastguard Worker 1661*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ind00: 1662*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 1663*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl src(,[[EAX]],4), [[ECX:%e.x]] 1664*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], dst(,[[EAX]],4) 1665*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1666*9880d681SAndroid Build Coastguard Worker 1667*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ind00: 1668*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 1669*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 1670*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r.x]] 1671*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 1672*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1673*9880d681SAndroid Build Coastguard Worker 1674*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ind00: 1675*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 1676*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _src(,[[EAX]],4), [[ECX:%e.x]] 1677*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _dst(,[[EAX]],4) 1678*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1679*9880d681SAndroid Build Coastguard Worker 1680*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ind00: 1681*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 1682*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_src$non_lazy_ptr, [[ECX:%e.x]] 1683*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[ECX]],[[EAX]],4), [[ECX:%e.x]] 1684*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_dst$non_lazy_ptr, [[EDX:%e.x]] 1685*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 1686*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1687*9880d681SAndroid Build Coastguard Worker 1688*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ind00: 1689*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L24$pb 1690*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L24$pb: 1691*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1692*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 1693*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L24$pb([[EAX]]), [[EDX:%e.x]] 1694*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EDX]],[[ECX]],4), [[EDX:%e.x]] 1695*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L24$pb([[EAX]]), [[EAX:%e.x]] 1696*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4) 1697*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1698*9880d681SAndroid Build Coastguard Worker 1699*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ind00: 1700*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 1701*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 1702*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 1703*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 1704*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1705*9880d681SAndroid Build Coastguard Worker 1706*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ind00: 1707*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 1708*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 1709*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 1710*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 1711*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1712*9880d681SAndroid Build Coastguard Worker 1713*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ind00: 1714*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 1715*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 1716*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 1717*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 1718*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1719*9880d681SAndroid Build Coastguard Worker} 1720*9880d681SAndroid Build Coastguard Worker 1721*9880d681SAndroid Build Coastguard Workerdefine void @ixd00(i64 %i) nounwind { 1722*9880d681SAndroid Build Coastguard Workerentry: 1723*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %i 1724*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %0, align 4 1725*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [32 x i32], [32 x i32]* @xdst, i64 0, i64 %i 1726*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 1727*9880d681SAndroid Build Coastguard Worker ret void 1728*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ixd00: 1729*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl xsrc(,%rdi,4), [[EAX:%e.x]] 1730*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], xdst(,%rdi,4) 1731*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1732*9880d681SAndroid Build Coastguard Worker 1733*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ixd00: 1734*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 1735*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl xsrc(,[[EAX]],4), [[ECX:%e.x]] 1736*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], xdst(,[[EAX]],4) 1737*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1738*9880d681SAndroid Build Coastguard Worker 1739*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ixd00: 1740*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 1741*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl xsrc(,[[EAX]],4), [[ECX:%e.x]] 1742*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], xdst(,[[EAX]],4) 1743*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1744*9880d681SAndroid Build Coastguard Worker 1745*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ixd00: 1746*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 1747*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 1748*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), [[RCX:%r.x]] 1749*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 1750*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1751*9880d681SAndroid Build Coastguard Worker 1752*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ixd00: 1753*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 1754*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _xsrc(,[[EAX]],4), [[ECX:%e.x]] 1755*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _xdst(,[[EAX]],4) 1756*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1757*9880d681SAndroid Build Coastguard Worker 1758*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ixd00: 1759*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 1760*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xsrc$non_lazy_ptr, [[ECX:%e.x]] 1761*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[ECX]],[[EAX]],4), [[ECX:%e.x]] 1762*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xdst$non_lazy_ptr, [[EDX:%e.x]] 1763*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 1764*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1765*9880d681SAndroid Build Coastguard Worker 1766*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ixd00: 1767*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L25$pb 1768*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L25$pb: 1769*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1770*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 1771*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L25$pb([[EAX]]), [[EDX:%e.x]] 1772*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EDX]],[[ECX]],4), [[EDX:%e.x]] 1773*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L25$pb([[EAX]]), [[EAX:%e.x]] 1774*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4) 1775*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1776*9880d681SAndroid Build Coastguard Worker 1777*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ixd00: 1778*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 1779*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 1780*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 1781*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 1782*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1783*9880d681SAndroid Build Coastguard Worker 1784*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ixd00: 1785*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 1786*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 1787*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 1788*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 1789*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1790*9880d681SAndroid Build Coastguard Worker 1791*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ixd00: 1792*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 1793*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 1794*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 1795*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 1796*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1797*9880d681SAndroid Build Coastguard Worker} 1798*9880d681SAndroid Build Coastguard Worker 1799*9880d681SAndroid Build Coastguard Workerdefine void @ind01(i64 %i) nounwind { 1800*9880d681SAndroid Build Coastguard Workerentry: 1801*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %i 1802*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @ptr, align 8 1803*9880d681SAndroid Build Coastguard Worker ret void 1804*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ind01: 1805*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq dst(,%rdi,4), [[RAX:%r.x]] 1806*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], ptr 1807*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1808*9880d681SAndroid Build Coastguard Worker 1809*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ind01: 1810*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 1811*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal dst(,[[EAX]],4), [[EAX:%e.x]] 1812*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ptr 1813*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1814*9880d681SAndroid Build Coastguard Worker 1815*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ind01: 1816*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 1817*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal dst(,[[EAX]],4), [[EAX:%e.x]] 1818*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ptr 1819*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1820*9880d681SAndroid Build Coastguard Worker 1821*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ind01: 1822*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: shlq $2, %rdi 1823*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rdi 1824*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]] 1825*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq %rdi, ([[RAX]]) 1826*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1827*9880d681SAndroid Build Coastguard Worker 1828*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ind01: 1829*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 1830*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _dst(,[[EAX]],4), [[EAX:%e.x]] 1831*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ptr 1832*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1833*9880d681SAndroid Build Coastguard Worker 1834*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ind01: 1835*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 1836*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: shll $2, [[EAX:%e.x]] 1837*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl L_dst$non_lazy_ptr, [[EAX:%e.x]] 1838*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 1839*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 1840*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1841*9880d681SAndroid Build Coastguard Worker 1842*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ind01: 1843*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L26$pb 1844*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L26$pb: 1845*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1846*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 1847*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: shll $2, [[ECX:%e.x]] 1848*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl L_dst$non_lazy_ptr-L26$pb([[EAX]]), [[ECX:%e.x]] 1849*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L26$pb([[EAX]]), [[EAX:%e.x]] 1850*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 1851*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1852*9880d681SAndroid Build Coastguard Worker 1853*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ind01: 1854*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: shlq $2, %rdi 1855*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi 1856*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 1857*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq %rdi, ([[RAX]]) 1858*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1859*9880d681SAndroid Build Coastguard Worker 1860*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ind01: 1861*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: shlq $2, %rdi 1862*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi 1863*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 1864*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq %rdi, ([[RAX]]) 1865*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1866*9880d681SAndroid Build Coastguard Worker 1867*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ind01: 1868*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: shlq $2, %rdi 1869*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rdi 1870*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 1871*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq %rdi, ([[RAX]]) 1872*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1873*9880d681SAndroid Build Coastguard Worker} 1874*9880d681SAndroid Build Coastguard Worker 1875*9880d681SAndroid Build Coastguard Workerdefine void @ixd01(i64 %i) nounwind { 1876*9880d681SAndroid Build Coastguard Workerentry: 1877*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [32 x i32], [32 x i32]* @xdst, i64 0, i64 %i 1878*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @ptr, align 8 1879*9880d681SAndroid Build Coastguard Worker ret void 1880*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ixd01: 1881*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq xdst(,%rdi,4), [[RAX:%r.x]] 1882*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], ptr 1883*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1884*9880d681SAndroid Build Coastguard Worker 1885*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ixd01: 1886*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 1887*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal xdst(,[[EAX]],4), [[EAX:%e.x]] 1888*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ptr 1889*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1890*9880d681SAndroid Build Coastguard Worker 1891*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ixd01: 1892*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 1893*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal xdst(,[[EAX]],4), [[EAX:%e.x]] 1894*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ptr 1895*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1896*9880d681SAndroid Build Coastguard Worker 1897*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ixd01: 1898*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: shlq $2, %rdi 1899*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rdi 1900*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]] 1901*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq %rdi, ([[RAX]]) 1902*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1903*9880d681SAndroid Build Coastguard Worker 1904*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ixd01: 1905*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 1906*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _xdst(,[[EAX]],4), [[EAX:%e.x]] 1907*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ptr 1908*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1909*9880d681SAndroid Build Coastguard Worker 1910*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ixd01: 1911*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 1912*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: shll $2, [[EAX:%e.x]] 1913*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl L_xdst$non_lazy_ptr, [[EAX:%e.x]] 1914*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 1915*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 1916*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 1917*9880d681SAndroid Build Coastguard Worker 1918*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ixd01: 1919*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L27$pb 1920*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L27$pb: 1921*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 1922*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 1923*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: shll $2, [[ECX:%e.x]] 1924*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl L_xdst$non_lazy_ptr-L27$pb([[EAX]]), [[ECX:%e.x]] 1925*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L27$pb([[EAX]]), [[EAX:%e.x]] 1926*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 1927*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 1928*9880d681SAndroid Build Coastguard Worker 1929*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ixd01: 1930*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: shlq $2, %rdi 1931*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi 1932*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 1933*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq %rdi, ([[RAX]]) 1934*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 1935*9880d681SAndroid Build Coastguard Worker 1936*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ixd01: 1937*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: shlq $2, %rdi 1938*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi 1939*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 1940*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq %rdi, ([[RAX]]) 1941*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 1942*9880d681SAndroid Build Coastguard Worker 1943*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ixd01: 1944*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: shlq $2, %rdi 1945*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq _xdst@GOTPCREL(%rip), %rdi 1946*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 1947*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq %rdi, ([[RAX]]) 1948*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 1949*9880d681SAndroid Build Coastguard Worker} 1950*9880d681SAndroid Build Coastguard Worker 1951*9880d681SAndroid Build Coastguard Workerdefine void @ind02(i64 %i) nounwind { 1952*9880d681SAndroid Build Coastguard Workerentry: 1953*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 1954*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %i 1955*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 1956*9880d681SAndroid Build Coastguard Worker %3 = getelementptr i32, i32* %0, i64 %i 1957*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 1958*9880d681SAndroid Build Coastguard Worker ret void 1959*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ind02: 1960*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src(,%rdi,4), [[EAX:%e.x]] 1961*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]] 1962*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ([[RCX]],%rdi,4) 1963*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 1964*9880d681SAndroid Build Coastguard Worker 1965*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ind02: 1966*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 1967*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl src(,[[EAX]],4), [[ECX:%e.x]] 1968*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[EDX:%e.x]] 1969*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 1970*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 1971*9880d681SAndroid Build Coastguard Worker 1972*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ind02: 1973*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 1974*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl src(,[[EAX]],4), [[ECX:%e.x]] 1975*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[EDX:%e.x]] 1976*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 1977*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 1978*9880d681SAndroid Build Coastguard Worker 1979*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ind02: 1980*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 1981*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 1982*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 1983*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 1984*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 1985*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 1986*9880d681SAndroid Build Coastguard Worker 1987*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ind02: 1988*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 1989*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _src(,[[EAX]],4), [[ECX:%e.x]] 1990*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[EDX:%e.x]] 1991*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 1992*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 1993*9880d681SAndroid Build Coastguard Worker 1994*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ind02: 1995*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 1996*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_src$non_lazy_ptr, [[ECX:%e.x]] 1997*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[ECX]],[[EAX]],4), [[ECX:%e.x]] 1998*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[EDX:%e.x]] 1999*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EDX]]), [[EDX:%e.x]] 2000*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2001*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2002*9880d681SAndroid Build Coastguard Worker 2003*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ind02: 2004*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L28$pb 2005*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L28$pb: 2006*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2007*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2008*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L28$pb([[EAX]]), [[EDX:%e.x]] 2009*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EDX]],[[ECX]],4), [[EDX:%e.x]] 2010*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L28$pb([[EAX]]), [[EAX:%e.x]] 2011*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 2012*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4) 2013*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2014*9880d681SAndroid Build Coastguard Worker 2015*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ind02: 2016*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 2017*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2018*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2019*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2020*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2021*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2022*9880d681SAndroid Build Coastguard Worker 2023*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ind02: 2024*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 2025*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2026*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2027*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2028*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2029*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2030*9880d681SAndroid Build Coastguard Worker 2031*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ind02: 2032*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 2033*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2034*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2035*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2036*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2037*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2038*9880d681SAndroid Build Coastguard Worker} 2039*9880d681SAndroid Build Coastguard Worker 2040*9880d681SAndroid Build Coastguard Workerdefine void @ixd02(i64 %i) nounwind { 2041*9880d681SAndroid Build Coastguard Workerentry: 2042*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 2043*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %i 2044*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 2045*9880d681SAndroid Build Coastguard Worker %3 = getelementptr i32, i32* %0, i64 %i 2046*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 2047*9880d681SAndroid Build Coastguard Worker ret void 2048*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ixd02: 2049*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl xsrc(,%rdi,4), [[EAX:%e.x]] 2050*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]] 2051*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ([[RCX]],%rdi,4) 2052*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2053*9880d681SAndroid Build Coastguard Worker 2054*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ixd02: 2055*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2056*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl xsrc(,[[EAX]],4), [[ECX:%e.x]] 2057*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[EDX:%e.x]] 2058*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2059*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2060*9880d681SAndroid Build Coastguard Worker 2061*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ixd02: 2062*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2063*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl xsrc(,[[EAX]],4), [[ECX:%e.x]] 2064*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[EDX:%e.x]] 2065*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2066*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2067*9880d681SAndroid Build Coastguard Worker 2068*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ixd02: 2069*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 2070*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2071*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2072*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2073*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2074*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2075*9880d681SAndroid Build Coastguard Worker 2076*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ixd02: 2077*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2078*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _xsrc(,[[EAX]],4), [[ECX:%e.x]] 2079*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[EDX:%e.x]] 2080*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2081*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2082*9880d681SAndroid Build Coastguard Worker 2083*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ixd02: 2084*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2085*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xsrc$non_lazy_ptr, [[ECX:%e.x]] 2086*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[ECX]],[[EAX]],4), [[ECX:%e.x]] 2087*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[EDX:%e.x]] 2088*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EDX]]), [[EDX:%e.x]] 2089*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2090*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2091*9880d681SAndroid Build Coastguard Worker 2092*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ixd02: 2093*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L29$pb 2094*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L29$pb: 2095*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2096*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2097*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L29$pb([[EAX]]), [[EDX:%e.x]] 2098*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EDX]],[[ECX]],4), [[EDX:%e.x]] 2099*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L29$pb([[EAX]]), [[EAX:%e.x]] 2100*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 2101*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4) 2102*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2103*9880d681SAndroid Build Coastguard Worker 2104*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ixd02: 2105*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 2106*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2107*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2108*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2109*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2110*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2111*9880d681SAndroid Build Coastguard Worker 2112*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ixd02: 2113*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 2114*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2115*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2116*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2117*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2118*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2119*9880d681SAndroid Build Coastguard Worker 2120*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ixd02: 2121*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 2122*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2123*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2124*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2125*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2126*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2127*9880d681SAndroid Build Coastguard Worker} 2128*9880d681SAndroid Build Coastguard Worker 2129*9880d681SAndroid Build Coastguard Workerdefine void @ind03(i64 %i) nounwind { 2130*9880d681SAndroid Build Coastguard Workerentry: 2131*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %i 2132*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %0, align 4 2133*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %i 2134*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 2135*9880d681SAndroid Build Coastguard Worker ret void 2136*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ind03: 2137*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc(,%rdi,4), [[EAX:%e.x]] 2138*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ddst(,%rdi,4) 2139*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2140*9880d681SAndroid Build Coastguard Worker 2141*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ind03: 2142*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2143*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dsrc(,[[EAX]],4), [[ECX:%e.x]] 2144*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], ddst(,[[EAX]],4) 2145*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2146*9880d681SAndroid Build Coastguard Worker 2147*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ind03: 2148*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2149*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dsrc(,[[EAX]],4), [[ECX:%e.x]] 2150*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], ddst(,[[EAX]],4) 2151*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2152*9880d681SAndroid Build Coastguard Worker 2153*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ind03: 2154*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 2155*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2156*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]] 2157*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2158*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2159*9880d681SAndroid Build Coastguard Worker 2160*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ind03: 2161*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2162*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dsrc(,[[EAX]],4), [[ECX:%e.x]] 2163*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _ddst(,[[EAX]],4) 2164*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2165*9880d681SAndroid Build Coastguard Worker 2166*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ind03: 2167*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2168*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dsrc(,[[EAX]],4), [[ECX:%e.x]] 2169*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], _ddst(,[[EAX]],4) 2170*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2171*9880d681SAndroid Build Coastguard Worker 2172*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ind03: 2173*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L30$pb 2174*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L30$pb: 2175*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2176*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2177*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dsrc-L30$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]] 2178*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], _ddst-L30$pb([[EAX]],[[ECX]],4) 2179*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2180*9880d681SAndroid Build Coastguard Worker 2181*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ind03: 2182*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc(%rip), [[RAX:%r.x]] 2183*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2184*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]] 2185*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2186*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2187*9880d681SAndroid Build Coastguard Worker 2188*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ind03: 2189*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc(%rip), [[RAX:%r.x]] 2190*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2191*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]] 2192*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2193*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2194*9880d681SAndroid Build Coastguard Worker 2195*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ind03: 2196*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]] 2197*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2198*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]] 2199*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2200*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2201*9880d681SAndroid Build Coastguard Worker} 2202*9880d681SAndroid Build Coastguard Worker 2203*9880d681SAndroid Build Coastguard Workerdefine void @ind04(i64 %i) nounwind { 2204*9880d681SAndroid Build Coastguard Workerentry: 2205*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %i 2206*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @dptr, align 8 2207*9880d681SAndroid Build Coastguard Worker ret void 2208*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ind04: 2209*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq ddst(,%rdi,4), [[RAX:%r.x]] 2210*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], dptr 2211*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2212*9880d681SAndroid Build Coastguard Worker 2213*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ind04: 2214*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2215*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal ddst(,[[EAX]],4), [[EAX:%e.x]] 2216*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], dptr 2217*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2218*9880d681SAndroid Build Coastguard Worker 2219*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ind04: 2220*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2221*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal ddst(,[[EAX]],4), [[EAX:%e.x]] 2222*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], dptr 2223*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2224*9880d681SAndroid Build Coastguard Worker 2225*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ind04: 2226*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: shlq $2, %rdi 2227*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), %rdi 2228*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RAX:%r.x]] 2229*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq %rdi, ([[RAX]]) 2230*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2231*9880d681SAndroid Build Coastguard Worker 2232*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ind04: 2233*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2234*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _ddst(,[[EAX]],4), [[EAX:%e.x]] 2235*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _dptr 2236*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2237*9880d681SAndroid Build Coastguard Worker 2238*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ind04: 2239*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2240*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _ddst(,[[EAX]],4), [[EAX:%e.x]] 2241*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _dptr 2242*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2243*9880d681SAndroid Build Coastguard Worker 2244*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ind04: 2245*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L31$pb 2246*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L31$pb: 2247*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2248*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2249*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _ddst-L31$pb([[EAX]],[[ECX]],4), [[ECX:%e.x]] 2250*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L31$pb([[EAX]]) 2251*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2252*9880d681SAndroid Build Coastguard Worker 2253*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ind04: 2254*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst(%rip), [[RAX:%r.x]] 2255*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq ([[RAX]],%rdi,4), [[RAX:%r.x]] 2256*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _dptr(%rip) 2257*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2258*9880d681SAndroid Build Coastguard Worker 2259*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ind04: 2260*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst(%rip), [[RAX:%r.x]] 2261*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq ([[RAX]],%rdi,4), [[RAX:%r.x]] 2262*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _dptr(%rip) 2263*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2264*9880d681SAndroid Build Coastguard Worker 2265*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ind04: 2266*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]] 2267*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq ([[RAX]],%rdi,4), [[RAX:%r.x]] 2268*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip) 2269*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2270*9880d681SAndroid Build Coastguard Worker} 2271*9880d681SAndroid Build Coastguard Worker 2272*9880d681SAndroid Build Coastguard Workerdefine void @ind05(i64 %i) nounwind { 2273*9880d681SAndroid Build Coastguard Workerentry: 2274*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 2275*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %i 2276*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 2277*9880d681SAndroid Build Coastguard Worker %3 = getelementptr i32, i32* %0, i64 %i 2278*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 2279*9880d681SAndroid Build Coastguard Worker ret void 2280*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ind05: 2281*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc(,%rdi,4), [[EAX:%e.x]] 2282*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq dptr(%rip), [[RCX:%r.x]] 2283*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ([[RCX]],%rdi,4) 2284*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2285*9880d681SAndroid Build Coastguard Worker 2286*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ind05: 2287*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2288*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dsrc(,[[EAX]],4), [[ECX:%e.x]] 2289*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dptr, [[EDX:%e.x]] 2290*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2291*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2292*9880d681SAndroid Build Coastguard Worker 2293*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ind05: 2294*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2295*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dsrc(,[[EAX]],4), [[ECX:%e.x]] 2296*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dptr, [[EDX:%e.x]] 2297*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2298*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2299*9880d681SAndroid Build Coastguard Worker 2300*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ind05: 2301*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 2302*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2303*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 2304*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2305*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2306*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2307*9880d681SAndroid Build Coastguard Worker 2308*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ind05: 2309*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2310*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dsrc(,[[EAX]],4), [[ECX:%e.x]] 2311*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dptr, [[EDX:%e.x]] 2312*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2313*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2314*9880d681SAndroid Build Coastguard Worker 2315*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ind05: 2316*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2317*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dsrc(,[[EAX]],4), [[ECX:%e.x]] 2318*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dptr, [[EDX:%e.x]] 2319*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2320*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2321*9880d681SAndroid Build Coastguard Worker 2322*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ind05: 2323*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L32$pb 2324*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L32$pb: 2325*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2326*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2327*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dsrc-L32$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]] 2328*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dptr-L32$pb([[EAX]]), [[EAX:%e.x]] 2329*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4) 2330*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2331*9880d681SAndroid Build Coastguard Worker 2332*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ind05: 2333*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc(%rip), [[RAX:%r.x]] 2334*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2335*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 2336*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2337*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2338*9880d681SAndroid Build Coastguard Worker 2339*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ind05: 2340*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc(%rip), [[RAX:%r.x]] 2341*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2342*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 2343*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2344*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2345*9880d681SAndroid Build Coastguard Worker 2346*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ind05: 2347*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]] 2348*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2349*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 2350*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2351*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2352*9880d681SAndroid Build Coastguard Worker} 2353*9880d681SAndroid Build Coastguard Worker 2354*9880d681SAndroid Build Coastguard Workerdefine void @ind06(i64 %i) nounwind { 2355*9880d681SAndroid Build Coastguard Workerentry: 2356*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %i 2357*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* %0, align 4 2358*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %i 2359*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 2360*9880d681SAndroid Build Coastguard Worker ret void 2361*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ind06: 2362*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc(,%rdi,4), [[EAX:%e.x]] 2363*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ldst(,%rdi,4) 2364*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2365*9880d681SAndroid Build Coastguard Worker 2366*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ind06: 2367*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2368*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lsrc(,[[EAX]],4), [[ECX:%e.x]] 2369*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], ldst(,[[EAX]],4) 2370*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2371*9880d681SAndroid Build Coastguard Worker 2372*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ind06: 2373*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2374*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lsrc(,[[EAX]],4), [[ECX:%e.x]] 2375*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], ldst(,[[EAX]],4) 2376*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2377*9880d681SAndroid Build Coastguard Worker 2378*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ind06: 2379*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]] 2380*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2381*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq ldst(%rip), [[RCX:%r.x]] 2382*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2383*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2384*9880d681SAndroid Build Coastguard Worker 2385*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ind06: 2386*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2387*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lsrc(,[[EAX]],4), [[ECX:%e.x]] 2388*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _ldst(,[[EAX]],4) 2389*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2390*9880d681SAndroid Build Coastguard Worker 2391*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ind06: 2392*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2393*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lsrc(,[[EAX]],4), [[ECX:%e.x]] 2394*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], _ldst(,[[EAX]],4) 2395*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2396*9880d681SAndroid Build Coastguard Worker 2397*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ind06: 2398*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L33$pb 2399*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L33$pb: 2400*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2401*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2402*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lsrc-L33$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]] 2403*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], _ldst-L33$pb([[EAX]],[[ECX]],4) 2404*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2405*9880d681SAndroid Build Coastguard Worker 2406*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ind06: 2407*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc(%rip), [[RAX:%r.x]] 2408*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2409*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]] 2410*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2411*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2412*9880d681SAndroid Build Coastguard Worker 2413*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ind06: 2414*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc(%rip), [[RAX:%r.x]] 2415*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2416*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]] 2417*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2418*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2419*9880d681SAndroid Build Coastguard Worker 2420*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ind06: 2421*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]] 2422*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2423*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]] 2424*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2425*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2426*9880d681SAndroid Build Coastguard Worker} 2427*9880d681SAndroid Build Coastguard Worker 2428*9880d681SAndroid Build Coastguard Workerdefine void @ind07(i64 %i) nounwind { 2429*9880d681SAndroid Build Coastguard Workerentry: 2430*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %i 2431*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @lptr, align 8 2432*9880d681SAndroid Build Coastguard Worker ret void 2433*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ind07: 2434*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq ldst(,%rdi,4), [[RAX:%r.x]] 2435*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], lptr 2436*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2437*9880d681SAndroid Build Coastguard Worker 2438*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ind07: 2439*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2440*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal ldst(,[[EAX]],4), [[EAX:%e.x]] 2441*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], lptr 2442*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2443*9880d681SAndroid Build Coastguard Worker 2444*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ind07: 2445*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2446*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal ldst(,[[EAX]],4), [[EAX:%e.x]] 2447*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], lptr 2448*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2449*9880d681SAndroid Build Coastguard Worker 2450*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ind07: 2451*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]] 2452*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq ([[RAX]],%rdi,4), [[RAX:%r.x]] 2453*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip) 2454*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2455*9880d681SAndroid Build Coastguard Worker 2456*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ind07: 2457*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2458*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _ldst(,[[EAX]],4), [[EAX:%e.x]] 2459*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _lptr 2460*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2461*9880d681SAndroid Build Coastguard Worker 2462*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ind07: 2463*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2464*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _ldst(,[[EAX]],4), [[EAX:%e.x]] 2465*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _lptr 2466*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2467*9880d681SAndroid Build Coastguard Worker 2468*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ind07: 2469*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L34$pb 2470*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L34$pb: 2471*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2472*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2473*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _ldst-L34$pb([[EAX]],[[ECX]],4), [[ECX:%e.x]] 2474*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L34$pb([[EAX]]) 2475*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2476*9880d681SAndroid Build Coastguard Worker 2477*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ind07: 2478*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst(%rip), [[RAX:%r.x]] 2479*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq ([[RAX]],%rdi,4), [[RAX:%r.x]] 2480*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _lptr(%rip) 2481*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2482*9880d681SAndroid Build Coastguard Worker 2483*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ind07: 2484*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst(%rip), [[RAX:%r.x]] 2485*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq ([[RAX]],%rdi,4), [[RAX:%r.x]] 2486*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _lptr(%rip) 2487*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2488*9880d681SAndroid Build Coastguard Worker 2489*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ind07: 2490*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]] 2491*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq ([[RAX]],%rdi,4), [[RAX:%r.x]] 2492*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip) 2493*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2494*9880d681SAndroid Build Coastguard Worker} 2495*9880d681SAndroid Build Coastguard Worker 2496*9880d681SAndroid Build Coastguard Workerdefine void @ind08(i64 %i) nounwind { 2497*9880d681SAndroid Build Coastguard Workerentry: 2498*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 2499*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %i 2500*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 2501*9880d681SAndroid Build Coastguard Worker %3 = getelementptr i32, i32* %0, i64 %i 2502*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 2503*9880d681SAndroid Build Coastguard Worker ret void 2504*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ind08: 2505*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc(,%rdi,4), [[EAX:%e.x]] 2506*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq lptr(%rip), [[RCX:%r.x]] 2507*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ([[RCX]],%rdi,4) 2508*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2509*9880d681SAndroid Build Coastguard Worker 2510*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ind08: 2511*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2512*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lsrc(,[[EAX]],4), [[ECX:%e.x]] 2513*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lptr, [[EDX:%e.x]] 2514*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2515*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2516*9880d681SAndroid Build Coastguard Worker 2517*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ind08: 2518*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2519*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lsrc(,[[EAX]],4), [[ECX:%e.x]] 2520*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lptr, [[EDX:%e.x]] 2521*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2522*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2523*9880d681SAndroid Build Coastguard Worker 2524*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ind08: 2525*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]] 2526*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2527*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]] 2528*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2529*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2530*9880d681SAndroid Build Coastguard Worker 2531*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ind08: 2532*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2533*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lsrc(,[[EAX]],4), [[ECX:%e.x]] 2534*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lptr, [[EDX:%e.x]] 2535*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2536*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2537*9880d681SAndroid Build Coastguard Worker 2538*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ind08: 2539*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2540*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lsrc(,[[EAX]],4), [[ECX:%e.x]] 2541*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lptr, [[EDX:%e.x]] 2542*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], ([[EDX]],[[EAX]],4) 2543*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2544*9880d681SAndroid Build Coastguard Worker 2545*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ind08: 2546*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L35$pb 2547*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L35$pb: 2548*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2549*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2550*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lsrc-L35$pb([[EAX]],[[ECX]],4), [[EDX:%e.x]] 2551*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lptr-L35$pb([[EAX]]), [[EAX:%e.x]] 2552*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], ([[EAX]],[[ECX]],4) 2553*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2554*9880d681SAndroid Build Coastguard Worker 2555*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ind08: 2556*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc(%rip), [[RAX:%r.x]] 2557*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2558*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 2559*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2560*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2561*9880d681SAndroid Build Coastguard Worker 2562*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ind08: 2563*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc(%rip), [[RAX:%r.x]] 2564*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2565*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 2566*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2567*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2568*9880d681SAndroid Build Coastguard Worker 2569*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ind08: 2570*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]] 2571*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl ([[RAX]],%rdi,4), [[EAX:%e.x]] 2572*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 2573*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], ([[RCX]],%rdi,4) 2574*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2575*9880d681SAndroid Build Coastguard Worker} 2576*9880d681SAndroid Build Coastguard Worker 2577*9880d681SAndroid Build Coastguard Workerdefine void @off00(i64 %i) nounwind { 2578*9880d681SAndroid Build Coastguard Workerentry: 2579*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 2580*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %0 2581*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 2582*9880d681SAndroid Build Coastguard Worker %3 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %0 2583*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 2584*9880d681SAndroid Build Coastguard Worker ret void 2585*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: off00: 2586*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src+64(,%rdi,4), [[EAX:%e.x]] 2587*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], dst+64(,%rdi,4) 2588*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2589*9880d681SAndroid Build Coastguard Worker 2590*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: off00: 2591*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2592*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl src+64(,[[EAX]],4), [[ECX:%e.x]] 2593*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], dst+64(,[[EAX]],4) 2594*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2595*9880d681SAndroid Build Coastguard Worker 2596*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: off00: 2597*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2598*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl src+64(,[[EAX]],4), [[ECX:%e.x]] 2599*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], dst+64(,[[EAX]],4) 2600*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2601*9880d681SAndroid Build Coastguard Worker 2602*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: off00: 2603*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 2604*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2605*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r.x]] 2606*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2607*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2608*9880d681SAndroid Build Coastguard Worker 2609*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _off00: 2610*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2611*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _src+64(,[[EAX]],4), [[ECX:%e.x]] 2612*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _dst+64(,[[EAX]],4) 2613*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2614*9880d681SAndroid Build Coastguard Worker 2615*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _off00: 2616*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2617*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_src$non_lazy_ptr, [[ECX:%e.x]] 2618*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 64([[ECX]],[[EAX]],4), [[ECX:%e.x]] 2619*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_dst$non_lazy_ptr, [[EDX:%e.x]] 2620*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 2621*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2622*9880d681SAndroid Build Coastguard Worker 2623*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _off00: 2624*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L36$pb 2625*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L36$pb: 2626*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2627*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2628*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L36$pb([[EAX]]), [[EDX:%e.x]] 2629*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 64([[EDX]],[[ECX]],4), [[EDX:%e.x]] 2630*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L36$pb([[EAX]]), [[EAX:%e.x]] 2631*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4) 2632*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2633*9880d681SAndroid Build Coastguard Worker 2634*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _off00: 2635*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 2636*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2637*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 2638*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2639*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2640*9880d681SAndroid Build Coastguard Worker 2641*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _off00: 2642*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 2643*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2644*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 2645*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2646*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2647*9880d681SAndroid Build Coastguard Worker 2648*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _off00: 2649*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 2650*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2651*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 2652*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2653*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2654*9880d681SAndroid Build Coastguard Worker} 2655*9880d681SAndroid Build Coastguard Worker 2656*9880d681SAndroid Build Coastguard Workerdefine void @oxf00(i64 %i) nounwind { 2657*9880d681SAndroid Build Coastguard Workerentry: 2658*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 2659*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %0 2660*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 2661*9880d681SAndroid Build Coastguard Worker %3 = getelementptr [32 x i32], [32 x i32]* @xdst, i64 0, i64 %0 2662*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 2663*9880d681SAndroid Build Coastguard Worker ret void 2664*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: oxf00: 2665*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl xsrc+64(,%rdi,4), [[EAX:%e.x]] 2666*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], xdst+64(,%rdi,4) 2667*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2668*9880d681SAndroid Build Coastguard Worker 2669*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: oxf00: 2670*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2671*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl xsrc+64(,[[EAX]],4), [[ECX:%e.x]] 2672*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], xdst+64(,[[EAX]],4) 2673*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2674*9880d681SAndroid Build Coastguard Worker 2675*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: oxf00: 2676*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2677*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl xsrc+64(,[[EAX]],4), [[ECX:%e.x]] 2678*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], xdst+64(,[[EAX]],4) 2679*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2680*9880d681SAndroid Build Coastguard Worker 2681*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: oxf00: 2682*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 2683*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2684*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq xdst@GOTPCREL(%rip), [[RCX:%r.x]] 2685*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2686*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2687*9880d681SAndroid Build Coastguard Worker 2688*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _oxf00: 2689*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2690*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _xsrc+64(,[[EAX]],4), [[ECX:%e.x]] 2691*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _xdst+64(,[[EAX]],4) 2692*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2693*9880d681SAndroid Build Coastguard Worker 2694*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _oxf00: 2695*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2696*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xsrc$non_lazy_ptr, [[ECX:%e.x]] 2697*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 64([[ECX]],[[EAX]],4), [[ECX:%e.x]] 2698*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xdst$non_lazy_ptr, [[EDX:%e.x]] 2699*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 2700*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2701*9880d681SAndroid Build Coastguard Worker 2702*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _oxf00: 2703*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L37$pb 2704*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L37$pb: 2705*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2706*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2707*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L37$pb([[EAX]]), [[EDX:%e.x]] 2708*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 64([[EDX]],[[ECX]],4), [[EDX:%e.x]] 2709*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L37$pb([[EAX]]), [[EAX:%e.x]] 2710*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4) 2711*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2712*9880d681SAndroid Build Coastguard Worker 2713*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _oxf00: 2714*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 2715*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2716*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 2717*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2718*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2719*9880d681SAndroid Build Coastguard Worker 2720*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _oxf00: 2721*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 2722*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2723*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 2724*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2725*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2726*9880d681SAndroid Build Coastguard Worker 2727*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _oxf00: 2728*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 2729*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2730*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _xdst@GOTPCREL(%rip), [[RCX:%r.x]] 2731*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2732*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2733*9880d681SAndroid Build Coastguard Worker} 2734*9880d681SAndroid Build Coastguard Worker 2735*9880d681SAndroid Build Coastguard Workerdefine void @off01(i64 %i) nounwind { 2736*9880d681SAndroid Build Coastguard Workerentry: 2737*9880d681SAndroid Build Coastguard Worker %.sum = add i64 %i, 16 2738*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %.sum 2739*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @ptr, align 8 2740*9880d681SAndroid Build Coastguard Worker ret void 2741*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: off01: 2742*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq dst+64(,%rdi,4), [[RAX:%r.x]] 2743*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], ptr 2744*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2745*9880d681SAndroid Build Coastguard Worker 2746*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: off01: 2747*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2748*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal dst+64(,[[EAX]],4), [[EAX:%e.x]] 2749*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ptr 2750*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2751*9880d681SAndroid Build Coastguard Worker 2752*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: off01: 2753*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2754*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal dst+64(,[[EAX]],4), [[EAX:%e.x]] 2755*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ptr 2756*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2757*9880d681SAndroid Build Coastguard Worker 2758*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: off01: 2759*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]] 2760*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 2761*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2762*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 2763*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2764*9880d681SAndroid Build Coastguard Worker 2765*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _off01: 2766*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2767*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _dst+64(,[[EAX]],4), [[EAX:%e.x]] 2768*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ptr 2769*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2770*9880d681SAndroid Build Coastguard Worker 2771*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _off01: 2772*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2773*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_dst$non_lazy_ptr, [[ECX:%e.x]] 2774*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 64([[ECX]],[[EAX]],4), [[EAX:%e.x]] 2775*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 2776*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 2777*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2778*9880d681SAndroid Build Coastguard Worker 2779*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _off01: 2780*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L38$pb 2781*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L38$pb: 2782*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2783*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2784*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L38$pb([[EAX]]), [[EDX:%e.x]] 2785*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 64([[EDX]],[[ECX]],4), [[ECX:%e.x]] 2786*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L38$pb([[EAX]]), [[EAX:%e.x]] 2787*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 2788*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2789*9880d681SAndroid Build Coastguard Worker 2790*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _off01: 2791*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 2792*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 2793*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2794*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], ([[RCX]]) 2795*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2796*9880d681SAndroid Build Coastguard Worker 2797*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _off01: 2798*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 2799*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 2800*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2801*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], ([[RCX]]) 2802*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2803*9880d681SAndroid Build Coastguard Worker 2804*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _off01: 2805*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 2806*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 2807*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2808*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 2809*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2810*9880d681SAndroid Build Coastguard Worker} 2811*9880d681SAndroid Build Coastguard Worker 2812*9880d681SAndroid Build Coastguard Workerdefine void @oxf01(i64 %i) nounwind { 2813*9880d681SAndroid Build Coastguard Workerentry: 2814*9880d681SAndroid Build Coastguard Worker %.sum = add i64 %i, 16 2815*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [32 x i32], [32 x i32]* @xdst, i64 0, i64 %.sum 2816*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @ptr, align 8 2817*9880d681SAndroid Build Coastguard Worker ret void 2818*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: oxf01: 2819*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq xdst+64(,%rdi,4), [[RAX:%r.x]] 2820*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], ptr 2821*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2822*9880d681SAndroid Build Coastguard Worker 2823*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: oxf01: 2824*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2825*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal xdst+64(,[[EAX]],4), [[EAX:%e.x]] 2826*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ptr 2827*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2828*9880d681SAndroid Build Coastguard Worker 2829*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: oxf01: 2830*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2831*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal xdst+64(,[[EAX]],4), [[EAX:%e.x]] 2832*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ptr 2833*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2834*9880d681SAndroid Build Coastguard Worker 2835*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: oxf01: 2836*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), [[RAX:%r.x]] 2837*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 2838*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2839*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 2840*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2841*9880d681SAndroid Build Coastguard Worker 2842*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _oxf01: 2843*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2844*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _xdst+64(,[[EAX]],4), [[EAX:%e.x]] 2845*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ptr 2846*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2847*9880d681SAndroid Build Coastguard Worker 2848*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _oxf01: 2849*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2850*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xdst$non_lazy_ptr, [[ECX:%e.x]] 2851*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 64([[ECX]],[[EAX]],4), [[EAX:%e.x]] 2852*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 2853*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 2854*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2855*9880d681SAndroid Build Coastguard Worker 2856*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _oxf01: 2857*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L39$pb 2858*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L39$pb: 2859*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2860*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2861*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L39$pb([[EAX]]), [[EDX:%e.x]] 2862*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 64([[EDX]],[[ECX]],4), [[ECX:%e.x]] 2863*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L39$pb([[EAX]]), [[EAX:%e.x]] 2864*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 2865*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2866*9880d681SAndroid Build Coastguard Worker 2867*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _oxf01: 2868*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 2869*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 2870*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2871*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], ([[RCX]]) 2872*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2873*9880d681SAndroid Build Coastguard Worker 2874*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _oxf01: 2875*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 2876*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 2877*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2878*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], ([[RCX]]) 2879*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2880*9880d681SAndroid Build Coastguard Worker 2881*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _oxf01: 2882*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 2883*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 2884*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2885*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 2886*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2887*9880d681SAndroid Build Coastguard Worker} 2888*9880d681SAndroid Build Coastguard Worker 2889*9880d681SAndroid Build Coastguard Workerdefine void @off02(i64 %i) nounwind { 2890*9880d681SAndroid Build Coastguard Workerentry: 2891*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 2892*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 16 2893*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %1 2894*9880d681SAndroid Build Coastguard Worker %3 = load i32, i32* %2, align 4 2895*9880d681SAndroid Build Coastguard Worker %4 = getelementptr i32, i32* %0, i64 %1 2896*9880d681SAndroid Build Coastguard Worker store i32 %3, i32* %4, align 4 2897*9880d681SAndroid Build Coastguard Worker ret void 2898*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: off02: 2899*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src+64(,%rdi,4), [[EAX:%e.x]] 2900*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]] 2901*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]],%rdi,4) 2902*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2903*9880d681SAndroid Build Coastguard Worker 2904*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: off02: 2905*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2906*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl src+64(,[[EAX]],4), [[ECX:%e.x]] 2907*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[EDX:%e.x]] 2908*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 2909*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 2910*9880d681SAndroid Build Coastguard Worker 2911*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: off02: 2912*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 2913*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl src+64(,[[EAX]],4), [[ECX:%e.x]] 2914*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[EDX:%e.x]] 2915*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 2916*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 2917*9880d681SAndroid Build Coastguard Worker 2918*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: off02: 2919*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 2920*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2921*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2922*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2923*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2924*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 2925*9880d681SAndroid Build Coastguard Worker 2926*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _off02: 2927*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2928*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _src+64(,[[EAX]],4), [[ECX:%e.x]] 2929*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[EDX:%e.x]] 2930*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 2931*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 2932*9880d681SAndroid Build Coastguard Worker 2933*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _off02: 2934*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 2935*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_src$non_lazy_ptr, [[ECX:%e.x]] 2936*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 64([[ECX]],[[EAX]],4), [[ECX:%e.x]] 2937*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[EDX:%e.x]] 2938*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EDX]]), [[EDX:%e.x]] 2939*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 2940*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 2941*9880d681SAndroid Build Coastguard Worker 2942*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _off02: 2943*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L40$pb 2944*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L40$pb: 2945*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 2946*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 2947*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L40$pb([[EAX]]), [[EDX:%e.x]] 2948*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 64([[EDX]],[[ECX]],4), [[EDX:%e.x]] 2949*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L40$pb([[EAX]]), [[EAX:%e.x]] 2950*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 2951*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4) 2952*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 2953*9880d681SAndroid Build Coastguard Worker 2954*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _off02: 2955*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 2956*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2957*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2958*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2959*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2960*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 2961*9880d681SAndroid Build Coastguard Worker 2962*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _off02: 2963*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 2964*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2965*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2966*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2967*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2968*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 2969*9880d681SAndroid Build Coastguard Worker 2970*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _off02: 2971*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 2972*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 2973*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 2974*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 2975*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 2976*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 2977*9880d681SAndroid Build Coastguard Worker} 2978*9880d681SAndroid Build Coastguard Worker 2979*9880d681SAndroid Build Coastguard Workerdefine void @oxf02(i64 %i) nounwind { 2980*9880d681SAndroid Build Coastguard Workerentry: 2981*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 2982*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 16 2983*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %1 2984*9880d681SAndroid Build Coastguard Worker %3 = load i32, i32* %2, align 4 2985*9880d681SAndroid Build Coastguard Worker %4 = getelementptr i32, i32* %0, i64 %1 2986*9880d681SAndroid Build Coastguard Worker store i32 %3, i32* %4, align 4 2987*9880d681SAndroid Build Coastguard Worker ret void 2988*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: oxf02: 2989*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl xsrc+64(,%rdi,4), [[EAX:%e.x]] 2990*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]] 2991*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]],%rdi,4) 2992*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 2993*9880d681SAndroid Build Coastguard Worker 2994*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: oxf02: 2995*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 2996*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl xsrc+64(,[[EAX]],4), [[ECX:%e.x]] 2997*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[EDX:%e.x]] 2998*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 2999*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3000*9880d681SAndroid Build Coastguard Worker 3001*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: oxf02: 3002*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 3003*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl xsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3004*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[EDX:%e.x]] 3005*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3006*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3007*9880d681SAndroid Build Coastguard Worker 3008*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: oxf02: 3009*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 3010*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3011*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3012*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 3013*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3014*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3015*9880d681SAndroid Build Coastguard Worker 3016*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _oxf02: 3017*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3018*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _xsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3019*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[EDX:%e.x]] 3020*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3021*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3022*9880d681SAndroid Build Coastguard Worker 3023*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _oxf02: 3024*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 3025*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xsrc$non_lazy_ptr, [[ECX:%e.x]] 3026*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 64([[ECX]],[[EAX]],4), [[ECX:%e.x]] 3027*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[EDX:%e.x]] 3028*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EDX]]), [[EDX:%e.x]] 3029*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3030*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3031*9880d681SAndroid Build Coastguard Worker 3032*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _oxf02: 3033*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L41$pb 3034*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L41$pb: 3035*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3036*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 3037*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L41$pb([[EAX]]), [[EDX:%e.x]] 3038*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 64([[EDX]],[[ECX]],4), [[EDX:%e.x]] 3039*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L41$pb([[EAX]]), [[EAX:%e.x]] 3040*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 3041*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4) 3042*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3043*9880d681SAndroid Build Coastguard Worker 3044*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _oxf02: 3045*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 3046*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3047*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3048*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 3049*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3050*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3051*9880d681SAndroid Build Coastguard Worker 3052*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _oxf02: 3053*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 3054*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3055*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3056*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 3057*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3058*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3059*9880d681SAndroid Build Coastguard Worker 3060*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _oxf02: 3061*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 3062*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3063*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3064*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 3065*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3066*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3067*9880d681SAndroid Build Coastguard Worker} 3068*9880d681SAndroid Build Coastguard Worker 3069*9880d681SAndroid Build Coastguard Workerdefine void @off03(i64 %i) nounwind { 3070*9880d681SAndroid Build Coastguard Workerentry: 3071*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 3072*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %0 3073*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 3074*9880d681SAndroid Build Coastguard Worker %3 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %0 3075*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 3076*9880d681SAndroid Build Coastguard Worker ret void 3077*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: off03: 3078*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc+64(,%rdi,4), [[EAX:%e.x]] 3079*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ddst+64(,%rdi,4) 3080*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3081*9880d681SAndroid Build Coastguard Worker 3082*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: off03: 3083*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3084*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3085*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], ddst+64(,[[EAX]],4) 3086*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3087*9880d681SAndroid Build Coastguard Worker 3088*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: off03: 3089*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 3090*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3091*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], ddst+64(,[[EAX]],4) 3092*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3093*9880d681SAndroid Build Coastguard Worker 3094*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: off03: 3095*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 3096*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3097*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]] 3098*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3099*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3100*9880d681SAndroid Build Coastguard Worker 3101*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _off03: 3102*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3103*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3104*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _ddst+64(,[[EAX]],4) 3105*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3106*9880d681SAndroid Build Coastguard Worker 3107*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _off03: 3108*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 3109*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3110*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], _ddst+64(,[[EAX]],4) 3111*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3112*9880d681SAndroid Build Coastguard Worker 3113*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _off03: 3114*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L42$pb 3115*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L42$pb: 3116*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3117*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 3118*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_dsrc-L42$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]] 3119*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], (_ddst-L42$pb)+64([[EAX]],[[ECX]],4) 3120*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3121*9880d681SAndroid Build Coastguard Worker 3122*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _off03: 3123*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc(%rip), [[RAX:%r.x]] 3124*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3125*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]] 3126*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3127*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3128*9880d681SAndroid Build Coastguard Worker 3129*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _off03: 3130*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc(%rip), [[RAX:%r.x]] 3131*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3132*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]] 3133*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3134*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3135*9880d681SAndroid Build Coastguard Worker 3136*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _off03: 3137*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]] 3138*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3139*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]] 3140*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3141*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3142*9880d681SAndroid Build Coastguard Worker} 3143*9880d681SAndroid Build Coastguard Worker 3144*9880d681SAndroid Build Coastguard Workerdefine void @off04(i64 %i) nounwind { 3145*9880d681SAndroid Build Coastguard Workerentry: 3146*9880d681SAndroid Build Coastguard Worker %.sum = add i64 %i, 16 3147*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %.sum 3148*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @dptr, align 8 3149*9880d681SAndroid Build Coastguard Worker ret void 3150*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: off04: 3151*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq ddst+64(,%rdi,4), [[RAX:%r.x]] 3152*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], dptr 3153*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3154*9880d681SAndroid Build Coastguard Worker 3155*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: off04: 3156*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3157*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal ddst+64(,[[EAX]],4), [[EAX:%e.x]] 3158*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], dptr 3159*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3160*9880d681SAndroid Build Coastguard Worker 3161*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: off04: 3162*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 3163*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal ddst+64(,[[EAX]],4), [[EAX:%e.x]] 3164*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], dptr 3165*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3166*9880d681SAndroid Build Coastguard Worker 3167*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: off04: 3168*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]] 3169*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 3170*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 3171*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 3172*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3173*9880d681SAndroid Build Coastguard Worker 3174*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _off04: 3175*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3176*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _ddst+64(,[[EAX]],4), [[EAX:%e.x]] 3177*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _dptr 3178*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3179*9880d681SAndroid Build Coastguard Worker 3180*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _off04: 3181*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 3182*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _ddst+64(,[[EAX]],4), [[EAX:%e.x]] 3183*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _dptr 3184*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3185*9880d681SAndroid Build Coastguard Worker 3186*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _off04: 3187*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L43$pb 3188*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L43$pb: 3189*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3190*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 3191*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ddst-L43$pb)+64([[EAX]],[[ECX]],4), [[ECX:%e.x]] 3192*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L43$pb([[EAX]]) 3193*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3194*9880d681SAndroid Build Coastguard Worker 3195*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _off04: 3196*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst(%rip), [[RAX:%r.x]] 3197*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 3198*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _dptr(%rip) 3199*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3200*9880d681SAndroid Build Coastguard Worker 3201*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _off04: 3202*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst(%rip), [[RAX:%r.x]] 3203*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 3204*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _dptr(%rip) 3205*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3206*9880d681SAndroid Build Coastguard Worker 3207*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _off04: 3208*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]] 3209*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 3210*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip) 3211*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3212*9880d681SAndroid Build Coastguard Worker} 3213*9880d681SAndroid Build Coastguard Worker 3214*9880d681SAndroid Build Coastguard Workerdefine void @off05(i64 %i) nounwind { 3215*9880d681SAndroid Build Coastguard Workerentry: 3216*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 3217*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 16 3218*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %1 3219*9880d681SAndroid Build Coastguard Worker %3 = load i32, i32* %2, align 4 3220*9880d681SAndroid Build Coastguard Worker %4 = getelementptr i32, i32* %0, i64 %1 3221*9880d681SAndroid Build Coastguard Worker store i32 %3, i32* %4, align 4 3222*9880d681SAndroid Build Coastguard Worker ret void 3223*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: off05: 3224*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc+64(,%rdi,4), [[EAX:%e.x]] 3225*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq dptr(%rip), [[RCX:%r.x]] 3226*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]],%rdi,4) 3227*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3228*9880d681SAndroid Build Coastguard Worker 3229*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: off05: 3230*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3231*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3232*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dptr, [[EDX:%e.x]] 3233*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3234*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3235*9880d681SAndroid Build Coastguard Worker 3236*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: off05: 3237*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 3238*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3239*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dptr, [[EDX:%e.x]] 3240*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3241*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3242*9880d681SAndroid Build Coastguard Worker 3243*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: off05: 3244*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 3245*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3246*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 3247*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 3248*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3249*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3250*9880d681SAndroid Build Coastguard Worker 3251*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _off05: 3252*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3253*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3254*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dptr, [[EDX:%e.x]] 3255*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3256*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3257*9880d681SAndroid Build Coastguard Worker 3258*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _off05: 3259*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 3260*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3261*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dptr, [[EDX:%e.x]] 3262*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3263*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3264*9880d681SAndroid Build Coastguard Worker 3265*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _off05: 3266*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L44$pb 3267*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L44$pb: 3268*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3269*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 3270*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_dsrc-L44$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]] 3271*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dptr-L44$pb([[EAX]]), [[EAX:%e.x]] 3272*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4) 3273*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3274*9880d681SAndroid Build Coastguard Worker 3275*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _off05: 3276*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc(%rip), [[RAX:%r.x]] 3277*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3278*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 3279*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3280*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3281*9880d681SAndroid Build Coastguard Worker 3282*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _off05: 3283*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc(%rip), [[RAX:%r.x]] 3284*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3285*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 3286*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3287*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3288*9880d681SAndroid Build Coastguard Worker 3289*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _off05: 3290*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]] 3291*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3292*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 3293*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3294*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3295*9880d681SAndroid Build Coastguard Worker} 3296*9880d681SAndroid Build Coastguard Worker 3297*9880d681SAndroid Build Coastguard Workerdefine void @off06(i64 %i) nounwind { 3298*9880d681SAndroid Build Coastguard Workerentry: 3299*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 3300*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %0 3301*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 3302*9880d681SAndroid Build Coastguard Worker %3 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %0 3303*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 3304*9880d681SAndroid Build Coastguard Worker ret void 3305*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: off06: 3306*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc+64(,%rdi,4), [[EAX:%e.x]] 3307*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ldst+64(,%rdi,4) 3308*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3309*9880d681SAndroid Build Coastguard Worker 3310*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: off06: 3311*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3312*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3313*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], ldst+64(,[[EAX]],4) 3314*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3315*9880d681SAndroid Build Coastguard Worker 3316*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: off06: 3317*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 3318*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3319*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], ldst+64(,[[EAX]],4) 3320*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3321*9880d681SAndroid Build Coastguard Worker 3322*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: off06: 3323*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]] 3324*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3325*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq ldst(%rip), [[RCX:%r.x]] 3326*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3327*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3328*9880d681SAndroid Build Coastguard Worker 3329*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _off06: 3330*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3331*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3332*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _ldst+64(,[[EAX]],4) 3333*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3334*9880d681SAndroid Build Coastguard Worker 3335*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _off06: 3336*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 3337*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3338*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], _ldst+64(,[[EAX]],4) 3339*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3340*9880d681SAndroid Build Coastguard Worker 3341*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _off06: 3342*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L45$pb 3343*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L45$pb: 3344*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3345*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 3346*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_lsrc-L45$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]] 3347*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], (_ldst-L45$pb)+64([[EAX]],[[ECX]],4) 3348*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3349*9880d681SAndroid Build Coastguard Worker 3350*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _off06: 3351*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc(%rip), [[RAX:%r.x]] 3352*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3353*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]] 3354*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3355*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3356*9880d681SAndroid Build Coastguard Worker 3357*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _off06: 3358*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc(%rip), [[RAX:%r.x]] 3359*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3360*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]] 3361*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3362*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3363*9880d681SAndroid Build Coastguard Worker 3364*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _off06: 3365*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]] 3366*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3367*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]] 3368*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3369*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3370*9880d681SAndroid Build Coastguard Worker} 3371*9880d681SAndroid Build Coastguard Worker 3372*9880d681SAndroid Build Coastguard Workerdefine void @off07(i64 %i) nounwind { 3373*9880d681SAndroid Build Coastguard Workerentry: 3374*9880d681SAndroid Build Coastguard Worker %.sum = add i64 %i, 16 3375*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %.sum 3376*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @lptr, align 8 3377*9880d681SAndroid Build Coastguard Worker ret void 3378*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: off07: 3379*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq ldst+64(,%rdi,4), [[RAX:%r.x]] 3380*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], lptr 3381*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3382*9880d681SAndroid Build Coastguard Worker 3383*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: off07: 3384*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3385*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal ldst+64(,[[EAX]],4), [[EAX:%e.x]] 3386*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], lptr 3387*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3388*9880d681SAndroid Build Coastguard Worker 3389*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: off07: 3390*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 3391*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal ldst+64(,[[EAX]],4), [[EAX:%e.x]] 3392*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], lptr 3393*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3394*9880d681SAndroid Build Coastguard Worker 3395*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: off07: 3396*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]] 3397*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 3398*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip) 3399*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3400*9880d681SAndroid Build Coastguard Worker 3401*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _off07: 3402*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3403*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _ldst+64(,[[EAX]],4), [[EAX:%e.x]] 3404*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _lptr 3405*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3406*9880d681SAndroid Build Coastguard Worker 3407*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _off07: 3408*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 3409*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _ldst+64(,[[EAX]],4), [[EAX:%e.x]] 3410*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _lptr 3411*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3412*9880d681SAndroid Build Coastguard Worker 3413*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _off07: 3414*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L46$pb 3415*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L46$pb: 3416*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3417*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 3418*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ldst-L46$pb)+64([[EAX]],[[ECX]],4), [[ECX:%e.x]] 3419*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L46$pb([[EAX]]) 3420*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3421*9880d681SAndroid Build Coastguard Worker 3422*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _off07: 3423*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst(%rip), [[RAX:%r.x]] 3424*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 3425*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _lptr(%rip) 3426*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3427*9880d681SAndroid Build Coastguard Worker 3428*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _off07: 3429*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst(%rip), [[RAX:%r.x]] 3430*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 3431*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _lptr(%rip) 3432*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3433*9880d681SAndroid Build Coastguard Worker 3434*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _off07: 3435*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]] 3436*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), [[RAX:%r.x]] 3437*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip) 3438*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3439*9880d681SAndroid Build Coastguard Worker} 3440*9880d681SAndroid Build Coastguard Worker 3441*9880d681SAndroid Build Coastguard Workerdefine void @off08(i64 %i) nounwind { 3442*9880d681SAndroid Build Coastguard Workerentry: 3443*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 3444*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 16 3445*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %1 3446*9880d681SAndroid Build Coastguard Worker %3 = load i32, i32* %2, align 4 3447*9880d681SAndroid Build Coastguard Worker %4 = getelementptr i32, i32* %0, i64 %1 3448*9880d681SAndroid Build Coastguard Worker store i32 %3, i32* %4, align 4 3449*9880d681SAndroid Build Coastguard Worker ret void 3450*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: off08: 3451*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc+64(,%rdi,4), [[EAX:%e.x]] 3452*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq lptr(%rip), [[RCX:%r.x]] 3453*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 64([[RCX]],%rdi,4) 3454*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3455*9880d681SAndroid Build Coastguard Worker 3456*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: off08: 3457*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3458*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3459*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lptr, [[EDX:%e.x]] 3460*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3461*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3462*9880d681SAndroid Build Coastguard Worker 3463*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: off08: 3464*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 3465*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3466*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lptr, [[EDX:%e.x]] 3467*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3468*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3469*9880d681SAndroid Build Coastguard Worker 3470*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: off08: 3471*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]] 3472*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3473*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]] 3474*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3475*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3476*9880d681SAndroid Build Coastguard Worker 3477*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _off08: 3478*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 3479*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3480*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lptr, [[EDX:%e.x]] 3481*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3482*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3483*9880d681SAndroid Build Coastguard Worker 3484*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _off08: 3485*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 3486*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lsrc+64(,[[EAX]],4), [[ECX:%e.x]] 3487*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lptr, [[EDX:%e.x]] 3488*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], 64([[EDX]],[[EAX]],4) 3489*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3490*9880d681SAndroid Build Coastguard Worker 3491*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _off08: 3492*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L47$pb 3493*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L47$pb: 3494*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3495*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 3496*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_lsrc-L47$pb)+64([[EAX]],[[ECX]],4), [[EDX:%e.x]] 3497*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lptr-L47$pb([[EAX]]), [[EAX:%e.x]] 3498*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], 64([[EAX]],[[ECX]],4) 3499*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3500*9880d681SAndroid Build Coastguard Worker 3501*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _off08: 3502*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc(%rip), [[RAX:%r.x]] 3503*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3504*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 3505*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3506*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3507*9880d681SAndroid Build Coastguard Worker 3508*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _off08: 3509*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc(%rip), [[RAX:%r.x]] 3510*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3511*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 3512*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3513*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3514*9880d681SAndroid Build Coastguard Worker 3515*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _off08: 3516*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]] 3517*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 64([[RAX]],%rdi,4), [[EAX:%e.x]] 3518*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 3519*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 64([[RCX]],%rdi,4) 3520*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3521*9880d681SAndroid Build Coastguard Worker} 3522*9880d681SAndroid Build Coastguard Worker 3523*9880d681SAndroid Build Coastguard Workerdefine void @moo00(i64 %i) nounwind { 3524*9880d681SAndroid Build Coastguard Workerentry: 3525*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 65536), align 4 3526*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 65536), align 4 3527*9880d681SAndroid Build Coastguard Worker ret void 3528*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: moo00: 3529*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src+262144(%rip), [[EAX:%e.x]] 3530*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], dst+262144(%rip) 3531*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3532*9880d681SAndroid Build Coastguard Worker 3533*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: moo00: 3534*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl src+262144, [[EAX:%e.x]] 3535*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], dst+262144 3536*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3537*9880d681SAndroid Build Coastguard Worker 3538*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: moo00: 3539*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl src+262144, [[EAX:%e.x]] 3540*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], dst+262144 3541*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3542*9880d681SAndroid Build Coastguard Worker 3543*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: moo00: 3544*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 3545*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]] 3546*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r.x]] 3547*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3548*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3549*9880d681SAndroid Build Coastguard Worker 3550*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _moo00: 3551*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _src+262144, [[EAX:%e.x]] 3552*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _dst+262144 3553*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3554*9880d681SAndroid Build Coastguard Worker 3555*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _moo00: 3556*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_src$non_lazy_ptr, [[EAX:%e.x]] 3557*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 262144([[EAX]]), [[EAX:%e.x]] 3558*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_dst$non_lazy_ptr, [[ECX:%e.x]] 3559*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], 262144([[ECX]]) 3560*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3561*9880d681SAndroid Build Coastguard Worker 3562*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _moo00: 3563*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L48$pb 3564*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L48$pb: 3565*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3566*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L48$pb([[EAX]]), [[ECX:%e.x]] 3567*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 262144([[ECX]]), [[ECX:%e.x]] 3568*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L48$pb([[EAX]]), [[EAX:%e.x]] 3569*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], 262144([[EAX]]) 3570*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3571*9880d681SAndroid Build Coastguard Worker 3572*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _moo00: 3573*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 3574*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]] 3575*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 3576*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3577*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3578*9880d681SAndroid Build Coastguard Worker 3579*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _moo00: 3580*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 3581*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]] 3582*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 3583*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3584*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3585*9880d681SAndroid Build Coastguard Worker 3586*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _moo00: 3587*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 3588*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]] 3589*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 3590*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3591*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3592*9880d681SAndroid Build Coastguard Worker} 3593*9880d681SAndroid Build Coastguard Worker 3594*9880d681SAndroid Build Coastguard Workerdefine void @moo01(i64 %i) nounwind { 3595*9880d681SAndroid Build Coastguard Workerentry: 3596*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 65536), i32** @ptr, align 8 3597*9880d681SAndroid Build Coastguard Worker ret void 3598*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: moo01: 3599*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $dst+262144, ptr(%rip) 3600*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3601*9880d681SAndroid Build Coastguard Worker 3602*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: moo01: 3603*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dst+262144, ptr 3604*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3605*9880d681SAndroid Build Coastguard Worker 3606*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: moo01: 3607*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dst+262144, ptr 3608*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3609*9880d681SAndroid Build Coastguard Worker 3610*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: moo01: 3611*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl $262144, [[EAX:%e.x]] 3612*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), [[RAX:%r.x]] 3613*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3614*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 3615*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3616*9880d681SAndroid Build Coastguard Worker 3617*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _moo01: 3618*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dst+262144, _ptr 3619*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3620*9880d681SAndroid Build Coastguard Worker 3621*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _moo01: 3622*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $262144, [[EAX:%e.x]] 3623*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl L_dst$non_lazy_ptr, [[EAX:%e.x]] 3624*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 3625*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 3626*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3627*9880d681SAndroid Build Coastguard Worker 3628*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _moo01: 3629*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L49$pb 3630*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L49$pb: 3631*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3632*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl $262144, [[ECX:%e.x]] 3633*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl L_dst$non_lazy_ptr-L49$pb([[EAX]]), [[ECX:%e.x]] 3634*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L49$pb([[EAX]]), [[EAX:%e.x]] 3635*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 3636*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3637*9880d681SAndroid Build Coastguard Worker 3638*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _moo01: 3639*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl $262144, [[EAX:%e.x]] 3640*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 3641*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3642*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], ([[RCX]]) 3643*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3644*9880d681SAndroid Build Coastguard Worker 3645*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _moo01: 3646*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl $262144, [[EAX:%e.x]] 3647*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 3648*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3649*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], ([[RCX]]) 3650*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3651*9880d681SAndroid Build Coastguard Worker 3652*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _moo01: 3653*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl $262144, [[EAX:%e.x]] 3654*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 3655*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3656*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 3657*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3658*9880d681SAndroid Build Coastguard Worker} 3659*9880d681SAndroid Build Coastguard Worker 3660*9880d681SAndroid Build Coastguard Workerdefine void @moo02(i64 %i) nounwind { 3661*9880d681SAndroid Build Coastguard Workerentry: 3662*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 3663*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 65536), align 4 3664*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 65536 3665*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 3666*9880d681SAndroid Build Coastguard Worker ret void 3667*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: moo02: 3668*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src+262144(%rip), [[EAX:%e.x]] 3669*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]] 3670*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]]) 3671*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3672*9880d681SAndroid Build Coastguard Worker 3673*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: moo02: 3674*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl src+262144, [[EAX:%e.x]] 3675*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]] 3676*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], 262144([[ECX]]) 3677*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3678*9880d681SAndroid Build Coastguard Worker 3679*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: moo02: 3680*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl src+262144, [[EAX:%e.x]] 3681*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]] 3682*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], 262144([[ECX]]) 3683*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3684*9880d681SAndroid Build Coastguard Worker 3685*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: moo02: 3686*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 3687*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]] 3688*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3689*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 3690*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3691*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3692*9880d681SAndroid Build Coastguard Worker 3693*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _moo02: 3694*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _src+262144, [[EAX:%e.x]] 3695*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[ECX:%e.x]] 3696*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], 262144([[ECX]]) 3697*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3698*9880d681SAndroid Build Coastguard Worker 3699*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _moo02: 3700*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_src$non_lazy_ptr, [[EAX:%e.x]] 3701*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 262144([[EAX]]), [[EAX:%e.x]] 3702*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 3703*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[ECX]]), [[ECX:%e.x]] 3704*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], 262144([[ECX]]) 3705*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3706*9880d681SAndroid Build Coastguard Worker 3707*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _moo02: 3708*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L50$pb 3709*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L50$pb: 3710*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3711*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L50$pb([[EAX]]), [[ECX:%e.x]] 3712*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 262144([[ECX]]), [[ECX:%e.x]] 3713*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L50$pb([[EAX]]), [[EAX:%e.x]] 3714*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 3715*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], 262144([[EAX]]) 3716*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3717*9880d681SAndroid Build Coastguard Worker 3718*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _moo02: 3719*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 3720*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]] 3721*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3722*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 3723*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3724*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3725*9880d681SAndroid Build Coastguard Worker 3726*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _moo02: 3727*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 3728*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]] 3729*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3730*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 3731*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3732*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3733*9880d681SAndroid Build Coastguard Worker 3734*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _moo02: 3735*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 3736*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]] 3737*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 3738*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 3739*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3740*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3741*9880d681SAndroid Build Coastguard Worker} 3742*9880d681SAndroid Build Coastguard Worker 3743*9880d681SAndroid Build Coastguard Workerdefine void @moo03(i64 %i) nounwind { 3744*9880d681SAndroid Build Coastguard Workerentry: 3745*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 65536), align 32 3746*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 65536), align 32 3747*9880d681SAndroid Build Coastguard Worker ret void 3748*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: moo03: 3749*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc+262144(%rip), [[EAX:%e.x]] 3750*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ddst+262144(%rip) 3751*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3752*9880d681SAndroid Build Coastguard Worker 3753*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: moo03: 3754*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl dsrc+262144, [[EAX:%e.x]] 3755*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ddst+262144 3756*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3757*9880d681SAndroid Build Coastguard Worker 3758*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: moo03: 3759*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl dsrc+262144, [[EAX:%e.x]] 3760*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ddst+262144 3761*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3762*9880d681SAndroid Build Coastguard Worker 3763*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: moo03: 3764*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 3765*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]] 3766*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]] 3767*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3768*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3769*9880d681SAndroid Build Coastguard Worker 3770*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _moo03: 3771*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _dsrc+262144, [[EAX:%e.x]] 3772*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ddst+262144 3773*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3774*9880d681SAndroid Build Coastguard Worker 3775*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _moo03: 3776*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _dsrc+262144, [[EAX:%e.x]] 3777*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _ddst+262144 3778*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3779*9880d681SAndroid Build Coastguard Worker 3780*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _moo03: 3781*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L51$pb 3782*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L51$pb: 3783*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3784*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_dsrc-L51$pb)+262144([[EAX]]), [[ECX:%e.x]] 3785*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], (_ddst-L51$pb)+262144([[EAX]]) 3786*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3787*9880d681SAndroid Build Coastguard Worker 3788*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _moo03: 3789*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _dsrc+262144(%rip), [[EAX:%e.x]] 3790*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], _ddst+262144(%rip) 3791*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3792*9880d681SAndroid Build Coastguard Worker 3793*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _moo03: 3794*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _dsrc+262144(%rip), [[EAX:%e.x]] 3795*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], _ddst+262144(%rip) 3796*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3797*9880d681SAndroid Build Coastguard Worker 3798*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _moo03: 3799*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _dsrc+262144(%rip), [[EAX:%e.x]] 3800*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], _ddst+262144(%rip) 3801*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3802*9880d681SAndroid Build Coastguard Worker} 3803*9880d681SAndroid Build Coastguard Worker 3804*9880d681SAndroid Build Coastguard Workerdefine void @moo04(i64 %i) nounwind { 3805*9880d681SAndroid Build Coastguard Workerentry: 3806*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 65536), i32** @dptr, align 8 3807*9880d681SAndroid Build Coastguard Worker ret void 3808*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: moo04: 3809*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $ddst+262144, dptr 3810*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3811*9880d681SAndroid Build Coastguard Worker 3812*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: moo04: 3813*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ddst+262144, dptr 3814*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3815*9880d681SAndroid Build Coastguard Worker 3816*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: moo04: 3817*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ddst+262144, dptr 3818*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3819*9880d681SAndroid Build Coastguard Worker 3820*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: moo04: 3821*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl $262144, [[EAX:%e.x]] 3822*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), [[RAX:%r.x]] 3823*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 3824*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 3825*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3826*9880d681SAndroid Build Coastguard Worker 3827*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _moo04: 3828*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ddst+262144, _dptr 3829*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3830*9880d681SAndroid Build Coastguard Worker 3831*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _moo04: 3832*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ddst+262144, _dptr 3833*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3834*9880d681SAndroid Build Coastguard Worker 3835*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _moo04: 3836*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L52$pb 3837*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L52$pb: 3838*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3839*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ddst-L52$pb)+262144([[EAX]]), [[ECX:%e.x]] 3840*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L52$pb([[EAX]]) 3841*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3842*9880d681SAndroid Build Coastguard Worker 3843*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _moo04: 3844*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst+262144(%rip), [[RAX:%r.x]] 3845*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _dptr(%rip) 3846*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3847*9880d681SAndroid Build Coastguard Worker 3848*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _moo04: 3849*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst+262144(%rip), [[RAX:%r.x]] 3850*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _dptr(%rip) 3851*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3852*9880d681SAndroid Build Coastguard Worker 3853*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _moo04: 3854*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst+262144(%rip), [[RAX:%r.x]] 3855*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip) 3856*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3857*9880d681SAndroid Build Coastguard Worker} 3858*9880d681SAndroid Build Coastguard Worker 3859*9880d681SAndroid Build Coastguard Workerdefine void @moo05(i64 %i) nounwind { 3860*9880d681SAndroid Build Coastguard Workerentry: 3861*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 3862*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 65536), align 32 3863*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 65536 3864*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 3865*9880d681SAndroid Build Coastguard Worker ret void 3866*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: moo05: 3867*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc+262144(%rip), [[EAX:%e.x]] 3868*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq dptr(%rip), [[RCX:%r.x]] 3869*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]]) 3870*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3871*9880d681SAndroid Build Coastguard Worker 3872*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: moo05: 3873*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl dsrc+262144, [[EAX:%e.x]] 3874*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dptr, [[ECX:%e.x]] 3875*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], 262144([[ECX]]) 3876*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3877*9880d681SAndroid Build Coastguard Worker 3878*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: moo05: 3879*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl dsrc+262144, [[EAX:%e.x]] 3880*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dptr, [[ECX:%e.x]] 3881*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], 262144([[ECX]]) 3882*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3883*9880d681SAndroid Build Coastguard Worker 3884*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: moo05: 3885*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 3886*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 262144([[RAX]]), [[EAX:%e.x]] 3887*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 3888*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 3889*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3890*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3891*9880d681SAndroid Build Coastguard Worker 3892*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _moo05: 3893*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _dsrc+262144, [[EAX:%e.x]] 3894*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dptr, [[ECX:%e.x]] 3895*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], 262144([[ECX]]) 3896*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3897*9880d681SAndroid Build Coastguard Worker 3898*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _moo05: 3899*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _dsrc+262144, [[EAX:%e.x]] 3900*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dptr, [[ECX:%e.x]] 3901*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], 262144([[ECX]]) 3902*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3903*9880d681SAndroid Build Coastguard Worker 3904*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _moo05: 3905*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L53$pb 3906*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L53$pb: 3907*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3908*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_dsrc-L53$pb)+262144([[EAX]]), [[ECX:%e.x]] 3909*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dptr-L53$pb([[EAX]]), [[EAX:%e.x]] 3910*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], 262144([[EAX]]) 3911*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3912*9880d681SAndroid Build Coastguard Worker 3913*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _moo05: 3914*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _dsrc+262144(%rip), [[EAX:%e.x]] 3915*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 3916*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3917*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3918*9880d681SAndroid Build Coastguard Worker 3919*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _moo05: 3920*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _dsrc+262144(%rip), [[EAX:%e.x]] 3921*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 3922*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3923*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3924*9880d681SAndroid Build Coastguard Worker 3925*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _moo05: 3926*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _dsrc+262144(%rip), [[EAX:%e.x]] 3927*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 3928*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]]) 3929*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3930*9880d681SAndroid Build Coastguard Worker} 3931*9880d681SAndroid Build Coastguard Worker 3932*9880d681SAndroid Build Coastguard Workerdefine void @moo06(i64 %i) nounwind { 3933*9880d681SAndroid Build Coastguard Workerentry: 3934*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 65536), align 4 3935*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 65536), align 4 3936*9880d681SAndroid Build Coastguard Worker ret void 3937*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: moo06: 3938*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc+262144(%rip), [[EAX:%e.x]] 3939*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ldst+262144(%rip) 3940*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3941*9880d681SAndroid Build Coastguard Worker 3942*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: moo06: 3943*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl lsrc+262144, [[EAX:%e.x]] 3944*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ldst+262144 3945*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 3946*9880d681SAndroid Build Coastguard Worker 3947*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: moo06: 3948*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl lsrc+262144, [[EAX:%e.x]] 3949*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ldst+262144 3950*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 3951*9880d681SAndroid Build Coastguard Worker 3952*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: moo06: 3953*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl lsrc+262144(%rip), [[EAX:%e.x]] 3954*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], ldst+262144(%rip) 3955*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 3956*9880d681SAndroid Build Coastguard Worker 3957*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _moo06: 3958*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _lsrc+262144, [[EAX:%e.x]] 3959*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ldst+262144 3960*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 3961*9880d681SAndroid Build Coastguard Worker 3962*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _moo06: 3963*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _lsrc+262144, [[EAX:%e.x]] 3964*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _ldst+262144 3965*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 3966*9880d681SAndroid Build Coastguard Worker 3967*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _moo06: 3968*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L54$pb 3969*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L54$pb: 3970*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 3971*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_lsrc-L54$pb)+262144([[EAX]]), [[ECX:%e.x]] 3972*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], (_ldst-L54$pb)+262144([[EAX]]) 3973*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 3974*9880d681SAndroid Build Coastguard Worker 3975*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _moo06: 3976*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _lsrc+262144(%rip), [[EAX:%e.x]] 3977*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], _ldst+262144(%rip) 3978*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 3979*9880d681SAndroid Build Coastguard Worker 3980*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _moo06: 3981*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _lsrc+262144(%rip), [[EAX:%e.x]] 3982*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], _ldst+262144(%rip) 3983*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 3984*9880d681SAndroid Build Coastguard Worker 3985*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _moo06: 3986*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _lsrc+262144(%rip), [[EAX:%e.x]] 3987*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], _ldst+262144(%rip) 3988*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 3989*9880d681SAndroid Build Coastguard Worker} 3990*9880d681SAndroid Build Coastguard Worker 3991*9880d681SAndroid Build Coastguard Workerdefine void @moo07(i64 %i) nounwind { 3992*9880d681SAndroid Build Coastguard Workerentry: 3993*9880d681SAndroid Build Coastguard Worker store i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 65536), i32** @lptr, align 8 3994*9880d681SAndroid Build Coastguard Worker ret void 3995*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: moo07: 3996*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq $ldst+262144, lptr 3997*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 3998*9880d681SAndroid Build Coastguard Worker 3999*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: moo07: 4000*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ldst+262144, lptr 4001*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4002*9880d681SAndroid Build Coastguard Worker 4003*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: moo07: 4004*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ldst+262144, lptr 4005*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4006*9880d681SAndroid Build Coastguard Worker 4007*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: moo07: 4008*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst+262144(%rip), [[RAX:%r.x]] 4009*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip) 4010*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4011*9880d681SAndroid Build Coastguard Worker 4012*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _moo07: 4013*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ldst+262144, _lptr 4014*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4015*9880d681SAndroid Build Coastguard Worker 4016*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _moo07: 4017*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ldst+262144, _lptr 4018*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4019*9880d681SAndroid Build Coastguard Worker 4020*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _moo07: 4021*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L55$pb 4022*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L55$pb: 4023*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4024*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ldst-L55$pb)+262144([[EAX]]), [[ECX:%e.x]] 4025*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L55$pb([[EAX]]) 4026*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4027*9880d681SAndroid Build Coastguard Worker 4028*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _moo07: 4029*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst+262144(%rip), [[RAX:%r.x]] 4030*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _lptr(%rip) 4031*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4032*9880d681SAndroid Build Coastguard Worker 4033*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _moo07: 4034*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst+262144(%rip), [[RAX:%r.x]] 4035*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _lptr(%rip) 4036*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4037*9880d681SAndroid Build Coastguard Worker 4038*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _moo07: 4039*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst+262144(%rip), [[RAX:%r.x]] 4040*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip) 4041*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4042*9880d681SAndroid Build Coastguard Worker} 4043*9880d681SAndroid Build Coastguard Worker 4044*9880d681SAndroid Build Coastguard Workerdefine void @moo08(i64 %i) nounwind { 4045*9880d681SAndroid Build Coastguard Workerentry: 4046*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 4047*9880d681SAndroid Build Coastguard Worker %1 = load i32, i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 65536), align 4 4048*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 65536 4049*9880d681SAndroid Build Coastguard Worker store i32 %1, i32* %2, align 4 4050*9880d681SAndroid Build Coastguard Worker ret void 4051*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: moo08: 4052*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc+262144(%rip), [[EAX:%e.x]] 4053*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq lptr(%rip), [[RCX:%r.x]] 4054*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]]) 4055*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4056*9880d681SAndroid Build Coastguard Worker 4057*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: moo08: 4058*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl lsrc+262144, [[EAX:%e.x]] 4059*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lptr, [[ECX:%e.x]] 4060*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], 262144([[ECX]]) 4061*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4062*9880d681SAndroid Build Coastguard Worker 4063*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: moo08: 4064*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl lsrc+262144, [[EAX:%e.x]] 4065*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lptr, [[ECX:%e.x]] 4066*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], 262144([[ECX]]) 4067*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4068*9880d681SAndroid Build Coastguard Worker 4069*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: moo08: 4070*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl lsrc+262144(%rip), [[EAX:%e.x]] 4071*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]] 4072*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]]) 4073*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4074*9880d681SAndroid Build Coastguard Worker 4075*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _moo08: 4076*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _lsrc+262144, [[EAX:%e.x]] 4077*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lptr, [[ECX:%e.x]] 4078*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], 262144([[ECX]]) 4079*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4080*9880d681SAndroid Build Coastguard Worker 4081*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _moo08: 4082*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _lsrc+262144, [[EAX:%e.x]] 4083*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lptr, [[ECX:%e.x]] 4084*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], 262144([[ECX]]) 4085*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4086*9880d681SAndroid Build Coastguard Worker 4087*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _moo08: 4088*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L56$pb 4089*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L56$pb: 4090*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4091*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_lsrc-L56$pb)+262144([[EAX]]), [[ECX:%e.x]] 4092*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lptr-L56$pb([[EAX]]), [[EAX:%e.x]] 4093*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], 262144([[EAX]]) 4094*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4095*9880d681SAndroid Build Coastguard Worker 4096*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _moo08: 4097*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl _lsrc+262144(%rip), [[EAX:%e.x]] 4098*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 4099*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 262144([[RCX]]) 4100*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4101*9880d681SAndroid Build Coastguard Worker 4102*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _moo08: 4103*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl _lsrc+262144(%rip), [[EAX:%e.x]] 4104*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 4105*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 262144([[RCX]]) 4106*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4107*9880d681SAndroid Build Coastguard Worker 4108*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _moo08: 4109*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl _lsrc+262144(%rip), [[EAX:%e.x]] 4110*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 4111*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]]) 4112*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4113*9880d681SAndroid Build Coastguard Worker} 4114*9880d681SAndroid Build Coastguard Worker 4115*9880d681SAndroid Build Coastguard Workerdefine void @big00(i64 %i) nounwind { 4116*9880d681SAndroid Build Coastguard Workerentry: 4117*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 4118*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %0 4119*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 4120*9880d681SAndroid Build Coastguard Worker %3 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %0 4121*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 4122*9880d681SAndroid Build Coastguard Worker ret void 4123*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: big00: 4124*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src+262144(,%rdi,4), [[EAX:%e.x]] 4125*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], dst+262144(,%rdi,4) 4126*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4127*9880d681SAndroid Build Coastguard Worker 4128*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: big00: 4129*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4130*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl src+262144(,[[EAX]],4), [[ECX:%e.x]] 4131*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], dst+262144(,[[EAX]],4) 4132*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4133*9880d681SAndroid Build Coastguard Worker 4134*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: big00: 4135*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 4136*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl src+262144(,[[EAX]],4), [[ECX:%e.x]] 4137*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], dst+262144(,[[EAX]],4) 4138*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4139*9880d681SAndroid Build Coastguard Worker 4140*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: big00: 4141*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 4142*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4143*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dst@GOTPCREL(%rip), [[RCX:%r.x]] 4144*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4145*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4146*9880d681SAndroid Build Coastguard Worker 4147*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _big00: 4148*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4149*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _src+262144(,[[EAX]],4), [[ECX:%e.x]] 4150*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _dst+262144(,[[EAX]],4) 4151*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4152*9880d681SAndroid Build Coastguard Worker 4153*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _big00: 4154*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 4155*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_src$non_lazy_ptr, [[ECX:%e.x]] 4156*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 262144([[ECX]],[[EAX]],4), [[ECX:%e.x]] 4157*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_dst$non_lazy_ptr, [[EDX:%e.x]] 4158*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4159*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4160*9880d681SAndroid Build Coastguard Worker 4161*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _big00: 4162*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L57$pb 4163*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L57$pb: 4164*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4165*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 4166*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L57$pb([[EAX]]), [[EDX:%e.x]] 4167*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 262144([[EDX]],[[ECX]],4), [[EDX:%e.x]] 4168*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L57$pb([[EAX]]), [[EAX:%e.x]] 4169*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], 262144([[EAX]],[[ECX]],4) 4170*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4171*9880d681SAndroid Build Coastguard Worker 4172*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _big00: 4173*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 4174*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4175*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 4176*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4177*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4178*9880d681SAndroid Build Coastguard Worker 4179*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _big00: 4180*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 4181*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4182*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 4183*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4184*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4185*9880d681SAndroid Build Coastguard Worker 4186*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _big00: 4187*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 4188*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4189*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dst@GOTPCREL(%rip), [[RCX:%r.x]] 4190*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4191*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4192*9880d681SAndroid Build Coastguard Worker} 4193*9880d681SAndroid Build Coastguard Worker 4194*9880d681SAndroid Build Coastguard Workerdefine void @big01(i64 %i) nounwind { 4195*9880d681SAndroid Build Coastguard Workerentry: 4196*9880d681SAndroid Build Coastguard Worker %.sum = add i64 %i, 65536 4197*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %.sum 4198*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @ptr, align 8 4199*9880d681SAndroid Build Coastguard Worker ret void 4200*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: big01: 4201*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq dst+262144(,%rdi,4), [[RAX:%r.x]] 4202*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], ptr(%rip) 4203*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4204*9880d681SAndroid Build Coastguard Worker 4205*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: big01: 4206*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4207*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal dst+262144(,[[EAX]],4), [[EAX:%e.x]] 4208*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], ptr 4209*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4210*9880d681SAndroid Build Coastguard Worker 4211*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: big01: 4212*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 4213*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal dst+262144(,[[EAX]],4), [[EAX:%e.x]] 4214*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], ptr 4215*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4216*9880d681SAndroid Build Coastguard Worker 4217*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: big01: 4218*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]] 4219*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4220*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 4221*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 4222*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4223*9880d681SAndroid Build Coastguard Worker 4224*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _big01: 4225*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4226*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _dst+262144(,[[EAX]],4), [[EAX:%e.x]] 4227*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _ptr 4228*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4229*9880d681SAndroid Build Coastguard Worker 4230*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _big01: 4231*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 4232*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_dst$non_lazy_ptr, [[ECX:%e.x]] 4233*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 262144([[ECX]],[[EAX]],4), [[EAX:%e.x]] 4234*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 4235*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], ([[ECX]]) 4236*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4237*9880d681SAndroid Build Coastguard Worker 4238*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _big01: 4239*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L58$pb 4240*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L58$pb: 4241*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4242*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 4243*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L58$pb([[EAX]]), [[EDX:%e.x]] 4244*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 262144([[EDX]],[[ECX]],4), [[ECX:%e.x]] 4245*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L58$pb([[EAX]]), [[EAX:%e.x]] 4246*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], ([[EAX]]) 4247*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4248*9880d681SAndroid Build Coastguard Worker 4249*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _big01: 4250*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 4251*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4252*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 4253*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], ([[RCX]]) 4254*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4255*9880d681SAndroid Build Coastguard Worker 4256*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _big01: 4257*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 4258*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4259*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 4260*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], ([[RCX]]) 4261*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4262*9880d681SAndroid Build Coastguard Worker 4263*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _big01: 4264*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 4265*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4266*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 4267*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 4268*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4269*9880d681SAndroid Build Coastguard Worker} 4270*9880d681SAndroid Build Coastguard Worker 4271*9880d681SAndroid Build Coastguard Workerdefine void @big02(i64 %i) nounwind { 4272*9880d681SAndroid Build Coastguard Workerentry: 4273*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 4274*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 65536 4275*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %1 4276*9880d681SAndroid Build Coastguard Worker %3 = load i32, i32* %2, align 4 4277*9880d681SAndroid Build Coastguard Worker %4 = getelementptr i32, i32* %0, i64 %1 4278*9880d681SAndroid Build Coastguard Worker store i32 %3, i32* %4, align 4 4279*9880d681SAndroid Build Coastguard Worker ret void 4280*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: big02: 4281*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl src+262144(,%rdi,4), [[EAX:%e.x]] 4282*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), [[RCX:%r.x]] 4283*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]],%rdi,4) 4284*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4285*9880d681SAndroid Build Coastguard Worker 4286*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: big02: 4287*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4288*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl src+262144(,[[EAX]],4), [[ECX:%e.x]] 4289*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[EDX:%e.x]] 4290*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4291*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4292*9880d681SAndroid Build Coastguard Worker 4293*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: big02: 4294*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 4295*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl src+262144(,[[EAX]],4), [[ECX:%e.x]] 4296*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[EDX:%e.x]] 4297*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4298*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4299*9880d681SAndroid Build Coastguard Worker 4300*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: big02: 4301*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 4302*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4303*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 4304*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 4305*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4306*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4307*9880d681SAndroid Build Coastguard Worker 4308*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _big02: 4309*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4310*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _src+262144(,[[EAX]],4), [[ECX:%e.x]] 4311*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[EDX:%e.x]] 4312*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4313*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4314*9880d681SAndroid Build Coastguard Worker 4315*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _big02: 4316*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 4317*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_src$non_lazy_ptr, [[ECX:%e.x]] 4318*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 262144([[ECX]],[[EAX]],4), [[ECX:%e.x]] 4319*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ptr$non_lazy_ptr, [[EDX:%e.x]] 4320*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EDX]]), [[EDX:%e.x]] 4321*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4322*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4323*9880d681SAndroid Build Coastguard Worker 4324*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _big02: 4325*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L59$pb 4326*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L59$pb: 4327*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4328*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 4329*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L59$pb([[EAX]]), [[EDX:%e.x]] 4330*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 262144([[EDX]],[[ECX]],4), [[EDX:%e.x]] 4331*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L59$pb([[EAX]]), [[EAX:%e.x]] 4332*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 4333*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], 262144([[EAX]],[[ECX]],4) 4334*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4335*9880d681SAndroid Build Coastguard Worker 4336*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _big02: 4337*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 4338*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4339*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 4340*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 4341*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4342*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4343*9880d681SAndroid Build Coastguard Worker 4344*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _big02: 4345*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 4346*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4347*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 4348*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 4349*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4350*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4351*9880d681SAndroid Build Coastguard Worker 4352*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _big02: 4353*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 4354*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4355*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 4356*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 4357*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4358*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4359*9880d681SAndroid Build Coastguard Worker} 4360*9880d681SAndroid Build Coastguard Worker 4361*9880d681SAndroid Build Coastguard Workerdefine void @big03(i64 %i) nounwind { 4362*9880d681SAndroid Build Coastguard Workerentry: 4363*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 4364*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %0 4365*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 4366*9880d681SAndroid Build Coastguard Worker %3 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %0 4367*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 4368*9880d681SAndroid Build Coastguard Worker ret void 4369*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: big03: 4370*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc+262144(,%rdi,4), [[EAX:%e.x]] 4371*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ddst+262144(,%rdi,4) 4372*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4373*9880d681SAndroid Build Coastguard Worker 4374*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: big03: 4375*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4376*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4377*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], ddst+262144(,[[EAX]],4) 4378*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4379*9880d681SAndroid Build Coastguard Worker 4380*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: big03: 4381*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 4382*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4383*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], ddst+262144(,[[EAX]],4) 4384*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4385*9880d681SAndroid Build Coastguard Worker 4386*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: big03: 4387*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 4388*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4389*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ddst@GOTPCREL(%rip), [[RCX:%r.x]] 4390*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4391*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4392*9880d681SAndroid Build Coastguard Worker 4393*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _big03: 4394*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4395*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4396*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _ddst+262144(,[[EAX]],4) 4397*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4398*9880d681SAndroid Build Coastguard Worker 4399*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _big03: 4400*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 4401*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4402*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], _ddst+262144(,[[EAX]],4) 4403*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4404*9880d681SAndroid Build Coastguard Worker 4405*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _big03: 4406*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L60$pb 4407*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L60$pb: 4408*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4409*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 4410*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_dsrc-L60$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]] 4411*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], (_ddst-L60$pb)+262144([[EAX]],[[ECX]],4) 4412*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4413*9880d681SAndroid Build Coastguard Worker 4414*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _big03: 4415*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc(%rip), [[RAX:%r.x]] 4416*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4417*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]] 4418*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4419*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4420*9880d681SAndroid Build Coastguard Worker 4421*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _big03: 4422*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc(%rip), [[RAX:%r.x]] 4423*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4424*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]] 4425*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4426*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4427*9880d681SAndroid Build Coastguard Worker 4428*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _big03: 4429*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]] 4430*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4431*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq _ddst(%rip), [[RCX:%r.x]] 4432*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4433*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4434*9880d681SAndroid Build Coastguard Worker} 4435*9880d681SAndroid Build Coastguard Worker 4436*9880d681SAndroid Build Coastguard Workerdefine void @big04(i64 %i) nounwind { 4437*9880d681SAndroid Build Coastguard Workerentry: 4438*9880d681SAndroid Build Coastguard Worker %.sum = add i64 %i, 65536 4439*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %.sum 4440*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @dptr, align 8 4441*9880d681SAndroid Build Coastguard Worker ret void 4442*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: big04: 4443*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq ddst+262144(,%rdi,4), [[RAX:%r.x]] 4444*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], dptr 4445*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4446*9880d681SAndroid Build Coastguard Worker 4447*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: big04: 4448*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4449*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal ddst+262144(,[[EAX]],4), [[EAX:%e.x]] 4450*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], dptr 4451*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4452*9880d681SAndroid Build Coastguard Worker 4453*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: big04: 4454*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 4455*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal ddst+262144(,[[EAX]],4), [[EAX:%e.x]] 4456*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], dptr 4457*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4458*9880d681SAndroid Build Coastguard Worker 4459*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: big04: 4460*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]] 4461*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4462*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 4463*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], ([[RCX]]) 4464*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4465*9880d681SAndroid Build Coastguard Worker 4466*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _big04: 4467*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4468*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _ddst+262144(,[[EAX]],4), [[EAX:%e.x]] 4469*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _dptr 4470*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4471*9880d681SAndroid Build Coastguard Worker 4472*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _big04: 4473*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 4474*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _ddst+262144(,[[EAX]],4), [[EAX:%e.x]] 4475*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _dptr 4476*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4477*9880d681SAndroid Build Coastguard Worker 4478*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _big04: 4479*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L61$pb 4480*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L61$pb: 4481*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4482*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 4483*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ddst-L61$pb)+262144([[EAX]],[[ECX]],4), [[ECX:%e.x]] 4484*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _dptr-L61$pb([[EAX]]) 4485*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4486*9880d681SAndroid Build Coastguard Worker 4487*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _big04: 4488*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst(%rip), [[RAX:%r.x]] 4489*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4490*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _dptr(%rip) 4491*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4492*9880d681SAndroid Build Coastguard Worker 4493*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _big04: 4494*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst(%rip), [[RAX:%r.x]] 4495*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4496*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _dptr(%rip) 4497*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4498*9880d681SAndroid Build Coastguard Worker 4499*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _big04: 4500*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]] 4501*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4502*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _dptr(%rip) 4503*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4504*9880d681SAndroid Build Coastguard Worker} 4505*9880d681SAndroid Build Coastguard Worker 4506*9880d681SAndroid Build Coastguard Workerdefine void @big05(i64 %i) nounwind { 4507*9880d681SAndroid Build Coastguard Workerentry: 4508*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 4509*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 65536 4510*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %1 4511*9880d681SAndroid Build Coastguard Worker %3 = load i32, i32* %2, align 4 4512*9880d681SAndroid Build Coastguard Worker %4 = getelementptr i32, i32* %0, i64 %1 4513*9880d681SAndroid Build Coastguard Worker store i32 %3, i32* %4, align 4 4514*9880d681SAndroid Build Coastguard Worker ret void 4515*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: big05: 4516*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl dsrc+262144(,%rdi,4), [[EAX:%e.x]] 4517*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq dptr(%rip), [[RCX:%r.x]] 4518*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]],%rdi,4) 4519*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4520*9880d681SAndroid Build Coastguard Worker 4521*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: big05: 4522*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4523*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4524*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dptr, [[EDX:%e.x]] 4525*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4526*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4527*9880d681SAndroid Build Coastguard Worker 4528*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: big05: 4529*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 4530*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4531*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dptr, [[EDX:%e.x]] 4532*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4533*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4534*9880d681SAndroid Build Coastguard Worker 4535*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: big05: 4536*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 4537*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4538*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 4539*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RCX]]), [[RCX:%r.x]] 4540*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4541*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4542*9880d681SAndroid Build Coastguard Worker 4543*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _big05: 4544*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4545*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4546*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dptr, [[EDX:%e.x]] 4547*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4548*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4549*9880d681SAndroid Build Coastguard Worker 4550*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _big05: 4551*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 4552*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4553*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dptr, [[EDX:%e.x]] 4554*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4555*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4556*9880d681SAndroid Build Coastguard Worker 4557*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _big05: 4558*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L62$pb 4559*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L62$pb: 4560*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4561*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 4562*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_dsrc-L62$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]] 4563*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dptr-L62$pb([[EAX]]), [[EAX:%e.x]] 4564*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], 262144([[EAX]],[[ECX]],4) 4565*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4566*9880d681SAndroid Build Coastguard Worker 4567*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _big05: 4568*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc(%rip), [[RAX:%r.x]] 4569*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4570*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 4571*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4572*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4573*9880d681SAndroid Build Coastguard Worker 4574*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _big05: 4575*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc(%rip), [[RAX:%r.x]] 4576*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4577*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 4578*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4579*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4580*9880d681SAndroid Build Coastguard Worker 4581*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _big05: 4582*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]] 4583*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4584*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _dptr(%rip), [[RCX:%r.x]] 4585*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4586*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4587*9880d681SAndroid Build Coastguard Worker} 4588*9880d681SAndroid Build Coastguard Worker 4589*9880d681SAndroid Build Coastguard Workerdefine void @big06(i64 %i) nounwind { 4590*9880d681SAndroid Build Coastguard Workerentry: 4591*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 4592*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %0 4593*9880d681SAndroid Build Coastguard Worker %2 = load i32, i32* %1, align 4 4594*9880d681SAndroid Build Coastguard Worker %3 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %0 4595*9880d681SAndroid Build Coastguard Worker store i32 %2, i32* %3, align 4 4596*9880d681SAndroid Build Coastguard Worker ret void 4597*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: big06: 4598*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc+262144(,%rdi,4), [[EAX:%e.x]] 4599*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], ldst+262144(,%rdi,4) 4600*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4601*9880d681SAndroid Build Coastguard Worker 4602*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: big06: 4603*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4604*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4605*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], ldst+262144(,[[EAX]],4) 4606*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4607*9880d681SAndroid Build Coastguard Worker 4608*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: big06: 4609*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 4610*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4611*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], ldst+262144(,[[EAX]],4) 4612*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4613*9880d681SAndroid Build Coastguard Worker 4614*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: big06: 4615*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]] 4616*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4617*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq ldst(%rip), [[RCX:%r.x]] 4618*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4619*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4620*9880d681SAndroid Build Coastguard Worker 4621*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _big06: 4622*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4623*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4624*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], _ldst+262144(,[[EAX]],4) 4625*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4626*9880d681SAndroid Build Coastguard Worker 4627*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _big06: 4628*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 4629*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4630*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], _ldst+262144(,[[EAX]],4) 4631*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4632*9880d681SAndroid Build Coastguard Worker 4633*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _big06: 4634*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L63$pb 4635*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L63$pb: 4636*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4637*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 4638*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_lsrc-L63$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]] 4639*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], (_ldst-L63$pb)+262144([[EAX]],[[ECX]],4) 4640*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4641*9880d681SAndroid Build Coastguard Worker 4642*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _big06: 4643*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc(%rip), [[RAX:%r.x]] 4644*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4645*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]] 4646*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4647*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4648*9880d681SAndroid Build Coastguard Worker 4649*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _big06: 4650*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc(%rip), [[RAX:%r.x]] 4651*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4652*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]] 4653*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4654*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4655*9880d681SAndroid Build Coastguard Worker 4656*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _big06: 4657*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]] 4658*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4659*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq _ldst(%rip), [[RCX:%r.x]] 4660*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4661*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4662*9880d681SAndroid Build Coastguard Worker} 4663*9880d681SAndroid Build Coastguard Worker 4664*9880d681SAndroid Build Coastguard Workerdefine void @big07(i64 %i) nounwind { 4665*9880d681SAndroid Build Coastguard Workerentry: 4666*9880d681SAndroid Build Coastguard Worker %.sum = add i64 %i, 65536 4667*9880d681SAndroid Build Coastguard Worker %0 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %.sum 4668*9880d681SAndroid Build Coastguard Worker store i32* %0, i32** @lptr, align 8 4669*9880d681SAndroid Build Coastguard Worker ret void 4670*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: big07: 4671*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq ldst+262144(,%rdi,4), [[RAX:%r.x]] 4672*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq [[RAX]], lptr 4673*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4674*9880d681SAndroid Build Coastguard Worker 4675*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: big07: 4676*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4677*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal ldst+262144(,[[EAX]],4), [[EAX:%e.x]] 4678*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[EAX]], lptr 4679*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4680*9880d681SAndroid Build Coastguard Worker 4681*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: big07: 4682*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 4683*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal ldst+262144(,[[EAX]],4), [[EAX:%e.x]] 4684*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[EAX]], lptr 4685*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4686*9880d681SAndroid Build Coastguard Worker 4687*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: big07: 4688*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]] 4689*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4690*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq [[RAX]], lptr(%rip) 4691*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4692*9880d681SAndroid Build Coastguard Worker 4693*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _big07: 4694*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4695*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _ldst+262144(,[[EAX]],4), [[EAX:%e.x]] 4696*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[EAX]], _lptr 4697*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4698*9880d681SAndroid Build Coastguard Worker 4699*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _big07: 4700*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 4701*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _ldst+262144(,[[EAX]],4), [[EAX:%e.x]] 4702*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[EAX]], _lptr 4703*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4704*9880d681SAndroid Build Coastguard Worker 4705*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _big07: 4706*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L64$pb 4707*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L64$pb: 4708*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4709*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 4710*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ldst-L64$pb)+262144([[EAX]],[[ECX]],4), [[ECX:%e.x]] 4711*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[ECX]], _lptr-L64$pb([[EAX]]) 4712*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4713*9880d681SAndroid Build Coastguard Worker 4714*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _big07: 4715*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst(%rip), [[RAX:%r.x]] 4716*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4717*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq [[RAX]], _lptr(%rip) 4718*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4719*9880d681SAndroid Build Coastguard Worker 4720*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _big07: 4721*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst(%rip), [[RAX:%r.x]] 4722*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4723*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq [[RAX]], _lptr(%rip) 4724*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4725*9880d681SAndroid Build Coastguard Worker 4726*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _big07: 4727*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]] 4728*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), [[RAX:%r.x]] 4729*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq [[RAX]], _lptr(%rip) 4730*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4731*9880d681SAndroid Build Coastguard Worker} 4732*9880d681SAndroid Build Coastguard Worker 4733*9880d681SAndroid Build Coastguard Workerdefine void @big08(i64 %i) nounwind { 4734*9880d681SAndroid Build Coastguard Workerentry: 4735*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 4736*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 65536 4737*9880d681SAndroid Build Coastguard Worker %2 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %1 4738*9880d681SAndroid Build Coastguard Worker %3 = load i32, i32* %2, align 4 4739*9880d681SAndroid Build Coastguard Worker %4 = getelementptr i32, i32* %0, i64 %1 4740*9880d681SAndroid Build Coastguard Worker store i32 %3, i32* %4, align 4 4741*9880d681SAndroid Build Coastguard Worker ret void 4742*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: big08: 4743*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl lsrc+262144(,%rdi,4), [[EAX:%e.x]] 4744*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq lptr(%rip), [[RCX:%r.x]] 4745*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl [[EAX]], 262144([[RCX]],%rdi,4) 4746*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4747*9880d681SAndroid Build Coastguard Worker 4748*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: big08: 4749*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4750*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4751*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lptr, [[EDX:%e.x]] 4752*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4753*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4754*9880d681SAndroid Build Coastguard Worker 4755*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: big08: 4756*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 4757*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4758*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lptr, [[EDX:%e.x]] 4759*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4760*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4761*9880d681SAndroid Build Coastguard Worker 4762*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: big08: 4763*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]] 4764*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4765*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq lptr(%rip), [[RCX:%r.x]] 4766*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4767*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4768*9880d681SAndroid Build Coastguard Worker 4769*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _big08: 4770*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 4771*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4772*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lptr, [[EDX:%e.x]] 4773*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4774*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4775*9880d681SAndroid Build Coastguard Worker 4776*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _big08: 4777*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 4778*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lsrc+262144(,[[EAX]],4), [[ECX:%e.x]] 4779*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lptr, [[EDX:%e.x]] 4780*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl [[ECX]], 262144([[EDX]],[[EAX]],4) 4781*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4782*9880d681SAndroid Build Coastguard Worker 4783*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _big08: 4784*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L65$pb 4785*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L65$pb: 4786*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4787*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 4788*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl (_lsrc-L65$pb)+262144([[EAX]],[[ECX]],4), [[EDX:%e.x]] 4789*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lptr-L65$pb([[EAX]]), [[EAX:%e.x]] 4790*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl [[EDX]], 262144([[EAX]],[[ECX]],4) 4791*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4792*9880d681SAndroid Build Coastguard Worker 4793*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _big08: 4794*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc(%rip), [[RAX:%r.x]] 4795*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4796*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 4797*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4798*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4799*9880d681SAndroid Build Coastguard Worker 4800*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _big08: 4801*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc(%rip), [[RAX:%r.x]] 4802*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4803*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 4804*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4805*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4806*9880d681SAndroid Build Coastguard Worker 4807*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _big08: 4808*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]] 4809*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl 262144([[RAX]],%rdi,4), [[EAX:%e.x]] 4810*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _lptr(%rip), [[RCX:%r.x]] 4811*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movl [[EAX]], 262144([[RCX]],%rdi,4) 4812*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4813*9880d681SAndroid Build Coastguard Worker} 4814*9880d681SAndroid Build Coastguard Worker 4815*9880d681SAndroid Build Coastguard Workerdefine i8* @bar00() nounwind { 4816*9880d681SAndroid Build Coastguard Workerentry: 4817*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @src to i8*) 4818*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bar00: 4819*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $src, %eax 4820*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4821*9880d681SAndroid Build Coastguard Worker 4822*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bar00: 4823*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $src, %eax 4824*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4825*9880d681SAndroid Build Coastguard Worker 4826*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bar00: 4827*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $src, %eax 4828*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4829*9880d681SAndroid Build Coastguard Worker 4830*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bar00: 4831*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), %rax 4832*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4833*9880d681SAndroid Build Coastguard Worker 4834*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bar00: 4835*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_src, %eax 4836*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4837*9880d681SAndroid Build Coastguard Worker 4838*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bar00: 4839*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_src$non_lazy_ptr, %eax 4840*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4841*9880d681SAndroid Build Coastguard Worker 4842*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bar00: 4843*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L66$pb 4844*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L66$pb: 4845*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4846*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L66$pb([[EAX]]), %eax 4847*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4848*9880d681SAndroid Build Coastguard Worker 4849*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bar00: 4850*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), %rax 4851*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4852*9880d681SAndroid Build Coastguard Worker 4853*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bar00: 4854*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), %rax 4855*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4856*9880d681SAndroid Build Coastguard Worker 4857*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bar00: 4858*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), %rax 4859*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4860*9880d681SAndroid Build Coastguard Worker} 4861*9880d681SAndroid Build Coastguard Worker 4862*9880d681SAndroid Build Coastguard Workerdefine i8* @bxr00() nounwind { 4863*9880d681SAndroid Build Coastguard Workerentry: 4864*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([32 x i32]* @xsrc to i8*) 4865*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bxr00: 4866*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $xsrc, %eax 4867*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4868*9880d681SAndroid Build Coastguard Worker 4869*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bxr00: 4870*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $xsrc, %eax 4871*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4872*9880d681SAndroid Build Coastguard Worker 4873*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bxr00: 4874*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $xsrc, %eax 4875*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4876*9880d681SAndroid Build Coastguard Worker 4877*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bxr00: 4878*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), %rax 4879*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4880*9880d681SAndroid Build Coastguard Worker 4881*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bxr00: 4882*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_xsrc, %eax 4883*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4884*9880d681SAndroid Build Coastguard Worker 4885*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bxr00: 4886*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xsrc$non_lazy_ptr, %eax 4887*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4888*9880d681SAndroid Build Coastguard Worker 4889*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bxr00: 4890*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L67$pb 4891*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L67$pb: 4892*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4893*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L67$pb([[EAX]]), %eax 4894*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4895*9880d681SAndroid Build Coastguard Worker 4896*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bxr00: 4897*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), %rax 4898*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4899*9880d681SAndroid Build Coastguard Worker 4900*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bxr00: 4901*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), %rax 4902*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4903*9880d681SAndroid Build Coastguard Worker 4904*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bxr00: 4905*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), %rax 4906*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4907*9880d681SAndroid Build Coastguard Worker} 4908*9880d681SAndroid Build Coastguard Worker 4909*9880d681SAndroid Build Coastguard Workerdefine i8* @bar01() nounwind { 4910*9880d681SAndroid Build Coastguard Workerentry: 4911*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @dst to i8*) 4912*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bar01: 4913*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $dst, %eax 4914*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4915*9880d681SAndroid Build Coastguard Worker 4916*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bar01: 4917*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dst, %eax 4918*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4919*9880d681SAndroid Build Coastguard Worker 4920*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bar01: 4921*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dst, %eax 4922*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4923*9880d681SAndroid Build Coastguard Worker 4924*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bar01: 4925*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dst@GOTPCREL(%rip), %rax 4926*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4927*9880d681SAndroid Build Coastguard Worker 4928*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bar01: 4929*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dst, %eax 4930*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4931*9880d681SAndroid Build Coastguard Worker 4932*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bar01: 4933*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_dst$non_lazy_ptr, %eax 4934*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4935*9880d681SAndroid Build Coastguard Worker 4936*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bar01: 4937*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L68$pb 4938*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L68$pb: 4939*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4940*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L68$pb([[EAX]]), %eax 4941*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4942*9880d681SAndroid Build Coastguard Worker 4943*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bar01: 4944*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dst@GOTPCREL(%rip), %rax 4945*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4946*9880d681SAndroid Build Coastguard Worker 4947*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bar01: 4948*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dst@GOTPCREL(%rip), %rax 4949*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4950*9880d681SAndroid Build Coastguard Worker 4951*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bar01: 4952*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), %rax 4953*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 4954*9880d681SAndroid Build Coastguard Worker} 4955*9880d681SAndroid Build Coastguard Worker 4956*9880d681SAndroid Build Coastguard Workerdefine i8* @bxr01() nounwind { 4957*9880d681SAndroid Build Coastguard Workerentry: 4958*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([32 x i32]* @xdst to i8*) 4959*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bxr01: 4960*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $xdst, %eax 4961*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 4962*9880d681SAndroid Build Coastguard Worker 4963*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bxr01: 4964*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $xdst, %eax 4965*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 4966*9880d681SAndroid Build Coastguard Worker 4967*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bxr01: 4968*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $xdst, %eax 4969*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 4970*9880d681SAndroid Build Coastguard Worker 4971*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bxr01: 4972*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), %rax 4973*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 4974*9880d681SAndroid Build Coastguard Worker 4975*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bxr01: 4976*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_xdst, %eax 4977*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 4978*9880d681SAndroid Build Coastguard Worker 4979*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bxr01: 4980*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xdst$non_lazy_ptr, %eax 4981*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 4982*9880d681SAndroid Build Coastguard Worker 4983*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bxr01: 4984*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L69$pb 4985*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L69$pb: 4986*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 4987*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L69$pb([[EAX]]), %eax 4988*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 4989*9880d681SAndroid Build Coastguard Worker 4990*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bxr01: 4991*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xdst@GOTPCREL(%rip), %rax 4992*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 4993*9880d681SAndroid Build Coastguard Worker 4994*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bxr01: 4995*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xdst@GOTPCREL(%rip), %rax 4996*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 4997*9880d681SAndroid Build Coastguard Worker 4998*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bxr01: 4999*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), %rax 5000*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5001*9880d681SAndroid Build Coastguard Worker} 5002*9880d681SAndroid Build Coastguard Worker 5003*9880d681SAndroid Build Coastguard Workerdefine i8* @bar02() nounwind { 5004*9880d681SAndroid Build Coastguard Workerentry: 5005*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32** @ptr to i8*) 5006*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bar02: 5007*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $ptr, %eax 5008*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5009*9880d681SAndroid Build Coastguard Worker 5010*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bar02: 5011*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ptr, %eax 5012*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5013*9880d681SAndroid Build Coastguard Worker 5014*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bar02: 5015*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ptr, %eax 5016*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5017*9880d681SAndroid Build Coastguard Worker 5018*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bar02: 5019*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), %rax 5020*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5021*9880d681SAndroid Build Coastguard Worker 5022*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bar02: 5023*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ptr, %eax 5024*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5025*9880d681SAndroid Build Coastguard Worker 5026*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bar02: 5027*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_ptr$non_lazy_ptr, %eax 5028*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5029*9880d681SAndroid Build Coastguard Worker 5030*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bar02: 5031*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L70$pb 5032*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L70$pb: 5033*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5034*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L70$pb([[EAX]]), %eax 5035*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5036*9880d681SAndroid Build Coastguard Worker 5037*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bar02: 5038*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _ptr@GOTPCREL(%rip), %rax 5039*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5040*9880d681SAndroid Build Coastguard Worker 5041*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bar02: 5042*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _ptr@GOTPCREL(%rip), %rax 5043*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5044*9880d681SAndroid Build Coastguard Worker 5045*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bar02: 5046*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), %rax 5047*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5048*9880d681SAndroid Build Coastguard Worker} 5049*9880d681SAndroid Build Coastguard Worker 5050*9880d681SAndroid Build Coastguard Workerdefine i8* @bar03() nounwind { 5051*9880d681SAndroid Build Coastguard Workerentry: 5052*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @dsrc to i8*) 5053*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bar03: 5054*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $dsrc, %eax 5055*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5056*9880d681SAndroid Build Coastguard Worker 5057*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bar03: 5058*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dsrc, %eax 5059*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5060*9880d681SAndroid Build Coastguard Worker 5061*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bar03: 5062*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dsrc, %eax 5063*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5064*9880d681SAndroid Build Coastguard Worker 5065*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bar03: 5066*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), %rax 5067*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5068*9880d681SAndroid Build Coastguard Worker 5069*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bar03: 5070*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dsrc, %eax 5071*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5072*9880d681SAndroid Build Coastguard Worker 5073*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bar03: 5074*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_dsrc, %eax 5075*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5076*9880d681SAndroid Build Coastguard Worker 5077*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bar03: 5078*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L71$pb 5079*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L71$pb: 5080*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5081*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _dsrc-L71$pb([[EAX]]), %eax 5082*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5083*9880d681SAndroid Build Coastguard Worker 5084*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bar03: 5085*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc(%rip), %rax 5086*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5087*9880d681SAndroid Build Coastguard Worker 5088*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bar03: 5089*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc(%rip), %rax 5090*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5091*9880d681SAndroid Build Coastguard Worker 5092*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bar03: 5093*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc(%rip), %rax 5094*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5095*9880d681SAndroid Build Coastguard Worker} 5096*9880d681SAndroid Build Coastguard Worker 5097*9880d681SAndroid Build Coastguard Workerdefine i8* @bar04() nounwind { 5098*9880d681SAndroid Build Coastguard Workerentry: 5099*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @ddst to i8*) 5100*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bar04: 5101*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $ddst, %eax 5102*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5103*9880d681SAndroid Build Coastguard Worker 5104*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bar04: 5105*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ddst, %eax 5106*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5107*9880d681SAndroid Build Coastguard Worker 5108*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bar04: 5109*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ddst, %eax 5110*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5111*9880d681SAndroid Build Coastguard Worker 5112*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bar04: 5113*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), %rax 5114*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5115*9880d681SAndroid Build Coastguard Worker 5116*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bar04: 5117*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ddst, %eax 5118*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5119*9880d681SAndroid Build Coastguard Worker 5120*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bar04: 5121*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ddst, %eax 5122*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5123*9880d681SAndroid Build Coastguard Worker 5124*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bar04: 5125*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L72$pb 5126*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L72$pb: 5127*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5128*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _ddst-L72$pb([[EAX]]), %eax 5129*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5130*9880d681SAndroid Build Coastguard Worker 5131*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bar04: 5132*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst(%rip), %rax 5133*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5134*9880d681SAndroid Build Coastguard Worker 5135*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bar04: 5136*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst(%rip), %rax 5137*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5138*9880d681SAndroid Build Coastguard Worker 5139*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bar04: 5140*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst(%rip), %rax 5141*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5142*9880d681SAndroid Build Coastguard Worker} 5143*9880d681SAndroid Build Coastguard Worker 5144*9880d681SAndroid Build Coastguard Workerdefine i8* @bar05() nounwind { 5145*9880d681SAndroid Build Coastguard Workerentry: 5146*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32** @dptr to i8*) 5147*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bar05: 5148*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $dptr, %eax 5149*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5150*9880d681SAndroid Build Coastguard Worker 5151*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bar05: 5152*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dptr, %eax 5153*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5154*9880d681SAndroid Build Coastguard Worker 5155*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bar05: 5156*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dptr, %eax 5157*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5158*9880d681SAndroid Build Coastguard Worker 5159*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bar05: 5160*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), %rax 5161*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5162*9880d681SAndroid Build Coastguard Worker 5163*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bar05: 5164*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dptr, %eax 5165*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5166*9880d681SAndroid Build Coastguard Worker 5167*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bar05: 5168*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_dptr, %eax 5169*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5170*9880d681SAndroid Build Coastguard Worker 5171*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bar05: 5172*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L73$pb 5173*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L73$pb: 5174*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5175*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _dptr-L73$pb([[EAX]]), %eax 5176*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5177*9880d681SAndroid Build Coastguard Worker 5178*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bar05: 5179*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dptr(%rip), %rax 5180*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5181*9880d681SAndroid Build Coastguard Worker 5182*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bar05: 5183*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dptr(%rip), %rax 5184*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5185*9880d681SAndroid Build Coastguard Worker 5186*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bar05: 5187*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dptr(%rip), %rax 5188*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5189*9880d681SAndroid Build Coastguard Worker} 5190*9880d681SAndroid Build Coastguard Worker 5191*9880d681SAndroid Build Coastguard Workerdefine i8* @bar06() nounwind { 5192*9880d681SAndroid Build Coastguard Workerentry: 5193*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @lsrc to i8*) 5194*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bar06: 5195*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $lsrc, %eax 5196*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5197*9880d681SAndroid Build Coastguard Worker 5198*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bar06: 5199*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $lsrc, %eax 5200*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5201*9880d681SAndroid Build Coastguard Worker 5202*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bar06: 5203*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $lsrc, %eax 5204*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5205*9880d681SAndroid Build Coastguard Worker 5206*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bar06: 5207*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc(%rip), %rax 5208*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5209*9880d681SAndroid Build Coastguard Worker 5210*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bar06: 5211*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_lsrc, %eax 5212*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5213*9880d681SAndroid Build Coastguard Worker 5214*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bar06: 5215*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_lsrc, %eax 5216*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5217*9880d681SAndroid Build Coastguard Worker 5218*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bar06: 5219*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L74$pb 5220*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L74$pb: 5221*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5222*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _lsrc-L74$pb([[EAX]]), %eax 5223*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5224*9880d681SAndroid Build Coastguard Worker 5225*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bar06: 5226*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc(%rip), %rax 5227*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5228*9880d681SAndroid Build Coastguard Worker 5229*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bar06: 5230*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc(%rip), %rax 5231*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5232*9880d681SAndroid Build Coastguard Worker 5233*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bar06: 5234*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc(%rip), %rax 5235*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5236*9880d681SAndroid Build Coastguard Worker} 5237*9880d681SAndroid Build Coastguard Worker 5238*9880d681SAndroid Build Coastguard Workerdefine i8* @bar07() nounwind { 5239*9880d681SAndroid Build Coastguard Workerentry: 5240*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @ldst to i8*) 5241*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bar07: 5242*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $ldst, %eax 5243*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5244*9880d681SAndroid Build Coastguard Worker 5245*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bar07: 5246*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ldst, %eax 5247*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5248*9880d681SAndroid Build Coastguard Worker 5249*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bar07: 5250*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ldst, %eax 5251*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5252*9880d681SAndroid Build Coastguard Worker 5253*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bar07: 5254*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst(%rip), %rax 5255*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5256*9880d681SAndroid Build Coastguard Worker 5257*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bar07: 5258*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ldst, %eax 5259*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5260*9880d681SAndroid Build Coastguard Worker 5261*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bar07: 5262*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ldst, %eax 5263*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5264*9880d681SAndroid Build Coastguard Worker 5265*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bar07: 5266*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L75$pb 5267*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L75$pb: 5268*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5269*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _ldst-L75$pb([[EAX]]), %eax 5270*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5271*9880d681SAndroid Build Coastguard Worker 5272*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bar07: 5273*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst(%rip), %rax 5274*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5275*9880d681SAndroid Build Coastguard Worker 5276*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bar07: 5277*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst(%rip), %rax 5278*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5279*9880d681SAndroid Build Coastguard Worker 5280*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bar07: 5281*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst(%rip), %rax 5282*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5283*9880d681SAndroid Build Coastguard Worker} 5284*9880d681SAndroid Build Coastguard Worker 5285*9880d681SAndroid Build Coastguard Workerdefine i8* @bar08() nounwind { 5286*9880d681SAndroid Build Coastguard Workerentry: 5287*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32** @lptr to i8*) 5288*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bar08: 5289*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $lptr, %eax 5290*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5291*9880d681SAndroid Build Coastguard Worker 5292*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bar08: 5293*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $lptr, %eax 5294*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5295*9880d681SAndroid Build Coastguard Worker 5296*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bar08: 5297*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $lptr, %eax 5298*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5299*9880d681SAndroid Build Coastguard Worker 5300*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bar08: 5301*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lptr(%rip), %rax 5302*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5303*9880d681SAndroid Build Coastguard Worker 5304*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bar08: 5305*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_lptr, %eax 5306*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5307*9880d681SAndroid Build Coastguard Worker 5308*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bar08: 5309*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_lptr, %eax 5310*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5311*9880d681SAndroid Build Coastguard Worker 5312*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bar08: 5313*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L76$pb 5314*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L76$pb: 5315*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5316*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _lptr-L76$pb([[EAX]]), %eax 5317*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5318*9880d681SAndroid Build Coastguard Worker 5319*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bar08: 5320*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lptr(%rip), %rax 5321*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5322*9880d681SAndroid Build Coastguard Worker 5323*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bar08: 5324*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lptr(%rip), %rax 5325*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5326*9880d681SAndroid Build Coastguard Worker 5327*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bar08: 5328*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lptr(%rip), %rax 5329*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5330*9880d681SAndroid Build Coastguard Worker} 5331*9880d681SAndroid Build Coastguard Worker 5332*9880d681SAndroid Build Coastguard Workerdefine i8* @har00() nounwind { 5333*9880d681SAndroid Build Coastguard Workerentry: 5334*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @src to i8*) 5335*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: har00: 5336*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $src, %eax 5337*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5338*9880d681SAndroid Build Coastguard Worker 5339*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: har00: 5340*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $src, %eax 5341*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5342*9880d681SAndroid Build Coastguard Worker 5343*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: har00: 5344*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $src, %eax 5345*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5346*9880d681SAndroid Build Coastguard Worker 5347*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: har00: 5348*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), %rax 5349*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5350*9880d681SAndroid Build Coastguard Worker 5351*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _har00: 5352*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_src, %eax 5353*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5354*9880d681SAndroid Build Coastguard Worker 5355*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _har00: 5356*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_src$non_lazy_ptr, %eax 5357*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5358*9880d681SAndroid Build Coastguard Worker 5359*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _har00: 5360*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L77$pb 5361*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L77$pb: 5362*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5363*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L77$pb([[EAX]]), %eax 5364*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5365*9880d681SAndroid Build Coastguard Worker 5366*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _har00: 5367*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), %rax 5368*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5369*9880d681SAndroid Build Coastguard Worker 5370*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _har00: 5371*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), %rax 5372*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5373*9880d681SAndroid Build Coastguard Worker 5374*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _har00: 5375*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), %rax 5376*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5377*9880d681SAndroid Build Coastguard Worker} 5378*9880d681SAndroid Build Coastguard Worker 5379*9880d681SAndroid Build Coastguard Workerdefine i8* @hxr00() nounwind { 5380*9880d681SAndroid Build Coastguard Workerentry: 5381*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([32 x i32]* @xsrc to i8*) 5382*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: hxr00: 5383*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $xsrc, %eax 5384*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5385*9880d681SAndroid Build Coastguard Worker 5386*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: hxr00: 5387*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $xsrc, %eax 5388*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5389*9880d681SAndroid Build Coastguard Worker 5390*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: hxr00: 5391*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $xsrc, %eax 5392*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5393*9880d681SAndroid Build Coastguard Worker 5394*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: hxr00: 5395*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), %rax 5396*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5397*9880d681SAndroid Build Coastguard Worker 5398*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _hxr00: 5399*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_xsrc, %eax 5400*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5401*9880d681SAndroid Build Coastguard Worker 5402*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _hxr00: 5403*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xsrc$non_lazy_ptr, %eax 5404*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5405*9880d681SAndroid Build Coastguard Worker 5406*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _hxr00: 5407*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L78$pb 5408*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L78$pb: 5409*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5410*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L78$pb([[EAX]]), %eax 5411*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5412*9880d681SAndroid Build Coastguard Worker 5413*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _hxr00: 5414*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), %rax 5415*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5416*9880d681SAndroid Build Coastguard Worker 5417*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _hxr00: 5418*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), %rax 5419*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5420*9880d681SAndroid Build Coastguard Worker 5421*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _hxr00: 5422*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), %rax 5423*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5424*9880d681SAndroid Build Coastguard Worker} 5425*9880d681SAndroid Build Coastguard Worker 5426*9880d681SAndroid Build Coastguard Workerdefine i8* @har01() nounwind { 5427*9880d681SAndroid Build Coastguard Workerentry: 5428*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @dst to i8*) 5429*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: har01: 5430*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $dst, %eax 5431*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5432*9880d681SAndroid Build Coastguard Worker 5433*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: har01: 5434*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dst, %eax 5435*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5436*9880d681SAndroid Build Coastguard Worker 5437*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: har01: 5438*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dst, %eax 5439*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5440*9880d681SAndroid Build Coastguard Worker 5441*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: har01: 5442*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dst@GOTPCREL(%rip), %rax 5443*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5444*9880d681SAndroid Build Coastguard Worker 5445*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _har01: 5446*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dst, %eax 5447*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5448*9880d681SAndroid Build Coastguard Worker 5449*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _har01: 5450*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_dst$non_lazy_ptr, %eax 5451*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5452*9880d681SAndroid Build Coastguard Worker 5453*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _har01: 5454*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L79$pb 5455*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L79$pb: 5456*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5457*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L79$pb([[EAX]]), %eax 5458*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5459*9880d681SAndroid Build Coastguard Worker 5460*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _har01: 5461*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dst@GOTPCREL(%rip), %rax 5462*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5463*9880d681SAndroid Build Coastguard Worker 5464*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _har01: 5465*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dst@GOTPCREL(%rip), %rax 5466*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5467*9880d681SAndroid Build Coastguard Worker 5468*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _har01: 5469*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), %rax 5470*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5471*9880d681SAndroid Build Coastguard Worker} 5472*9880d681SAndroid Build Coastguard Worker 5473*9880d681SAndroid Build Coastguard Workerdefine i8* @hxr01() nounwind { 5474*9880d681SAndroid Build Coastguard Workerentry: 5475*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([32 x i32]* @xdst to i8*) 5476*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: hxr01: 5477*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $xdst, %eax 5478*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5479*9880d681SAndroid Build Coastguard Worker 5480*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: hxr01: 5481*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $xdst, %eax 5482*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5483*9880d681SAndroid Build Coastguard Worker 5484*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: hxr01: 5485*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $xdst, %eax 5486*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5487*9880d681SAndroid Build Coastguard Worker 5488*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: hxr01: 5489*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), %rax 5490*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5491*9880d681SAndroid Build Coastguard Worker 5492*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _hxr01: 5493*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_xdst, %eax 5494*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5495*9880d681SAndroid Build Coastguard Worker 5496*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _hxr01: 5497*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xdst$non_lazy_ptr, %eax 5498*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5499*9880d681SAndroid Build Coastguard Worker 5500*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _hxr01: 5501*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L80$pb 5502*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L80$pb: 5503*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5504*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L80$pb([[EAX]]), %eax 5505*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5506*9880d681SAndroid Build Coastguard Worker 5507*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _hxr01: 5508*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xdst@GOTPCREL(%rip), %rax 5509*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5510*9880d681SAndroid Build Coastguard Worker 5511*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _hxr01: 5512*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xdst@GOTPCREL(%rip), %rax 5513*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5514*9880d681SAndroid Build Coastguard Worker 5515*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _hxr01: 5516*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), %rax 5517*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5518*9880d681SAndroid Build Coastguard Worker} 5519*9880d681SAndroid Build Coastguard Worker 5520*9880d681SAndroid Build Coastguard Workerdefine i8* @har02() nounwind { 5521*9880d681SAndroid Build Coastguard Workerentry: 5522*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 5523*9880d681SAndroid Build Coastguard Worker %1 = bitcast i32* %0 to i8* 5524*9880d681SAndroid Build Coastguard Worker ret i8* %1 5525*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: har02: 5526*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), %rax 5527*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5528*9880d681SAndroid Build Coastguard Worker 5529*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: har02: 5530*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl ptr, %eax 5531*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5532*9880d681SAndroid Build Coastguard Worker 5533*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: har02: 5534*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl ptr, %eax 5535*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5536*9880d681SAndroid Build Coastguard Worker 5537*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: har02: 5538*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]] 5539*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RAX]]), %rax 5540*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5541*9880d681SAndroid Build Coastguard Worker 5542*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _har02: 5543*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _ptr, %eax 5544*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5545*9880d681SAndroid Build Coastguard Worker 5546*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _har02: 5547*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_ptr$non_lazy_ptr, [[EAX:%e.x]] 5548*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EAX]]), %eax 5549*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5550*9880d681SAndroid Build Coastguard Worker 5551*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _har02: 5552*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L81$pb 5553*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L81$pb: 5554*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5555*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L81$pb([[EAX]]), [[EAX:%e.x]] 5556*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), %eax 5557*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5558*9880d681SAndroid Build Coastguard Worker 5559*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _har02: 5560*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 5561*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RAX]]), %rax 5562*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5563*9880d681SAndroid Build Coastguard Worker 5564*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _har02: 5565*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 5566*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RAX]]), %rax 5567*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5568*9880d681SAndroid Build Coastguard Worker 5569*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _har02: 5570*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 5571*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RAX]]), %rax 5572*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5573*9880d681SAndroid Build Coastguard Worker} 5574*9880d681SAndroid Build Coastguard Worker 5575*9880d681SAndroid Build Coastguard Workerdefine i8* @har03() nounwind { 5576*9880d681SAndroid Build Coastguard Workerentry: 5577*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @dsrc to i8*) 5578*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: har03: 5579*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $dsrc, %eax 5580*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5581*9880d681SAndroid Build Coastguard Worker 5582*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: har03: 5583*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dsrc, %eax 5584*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5585*9880d681SAndroid Build Coastguard Worker 5586*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: har03: 5587*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dsrc, %eax 5588*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5589*9880d681SAndroid Build Coastguard Worker 5590*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: har03: 5591*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), %rax 5592*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5593*9880d681SAndroid Build Coastguard Worker 5594*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _har03: 5595*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dsrc, %eax 5596*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5597*9880d681SAndroid Build Coastguard Worker 5598*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _har03: 5599*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_dsrc, %eax 5600*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5601*9880d681SAndroid Build Coastguard Worker 5602*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _har03: 5603*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L82$pb 5604*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L82$pb: 5605*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5606*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _dsrc-L82$pb([[EAX]]), %eax 5607*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5608*9880d681SAndroid Build Coastguard Worker 5609*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _har03: 5610*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc(%rip), %rax 5611*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5612*9880d681SAndroid Build Coastguard Worker 5613*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _har03: 5614*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc(%rip), %rax 5615*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5616*9880d681SAndroid Build Coastguard Worker 5617*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _har03: 5618*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc(%rip), %rax 5619*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5620*9880d681SAndroid Build Coastguard Worker} 5621*9880d681SAndroid Build Coastguard Worker 5622*9880d681SAndroid Build Coastguard Workerdefine i8* @har04() nounwind { 5623*9880d681SAndroid Build Coastguard Workerentry: 5624*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @ddst to i8*) 5625*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: har04: 5626*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $ddst, %eax 5627*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5628*9880d681SAndroid Build Coastguard Worker 5629*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: har04: 5630*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ddst, %eax 5631*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5632*9880d681SAndroid Build Coastguard Worker 5633*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: har04: 5634*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ddst, %eax 5635*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5636*9880d681SAndroid Build Coastguard Worker 5637*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: har04: 5638*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), %rax 5639*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5640*9880d681SAndroid Build Coastguard Worker 5641*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _har04: 5642*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ddst, %eax 5643*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5644*9880d681SAndroid Build Coastguard Worker 5645*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _har04: 5646*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ddst, %eax 5647*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5648*9880d681SAndroid Build Coastguard Worker 5649*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _har04: 5650*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L83$pb 5651*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L83$pb: 5652*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5653*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _ddst-L83$pb([[EAX]]), %eax 5654*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5655*9880d681SAndroid Build Coastguard Worker 5656*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _har04: 5657*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst(%rip), %rax 5658*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5659*9880d681SAndroid Build Coastguard Worker 5660*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _har04: 5661*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst(%rip), %rax 5662*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5663*9880d681SAndroid Build Coastguard Worker 5664*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _har04: 5665*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst(%rip), %rax 5666*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5667*9880d681SAndroid Build Coastguard Worker} 5668*9880d681SAndroid Build Coastguard Worker 5669*9880d681SAndroid Build Coastguard Workerdefine i8* @har05() nounwind { 5670*9880d681SAndroid Build Coastguard Workerentry: 5671*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 5672*9880d681SAndroid Build Coastguard Worker %1 = bitcast i32* %0 to i8* 5673*9880d681SAndroid Build Coastguard Worker ret i8* %1 5674*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: har05: 5675*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq dptr(%rip), %rax 5676*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5677*9880d681SAndroid Build Coastguard Worker 5678*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: har05: 5679*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl dptr, %eax 5680*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5681*9880d681SAndroid Build Coastguard Worker 5682*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: har05: 5683*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl dptr, %eax 5684*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5685*9880d681SAndroid Build Coastguard Worker 5686*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: har05: 5687*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), [[RAX:%r.x]] 5688*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RAX]]), %rax 5689*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5690*9880d681SAndroid Build Coastguard Worker 5691*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _har05: 5692*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _dptr, %eax 5693*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5694*9880d681SAndroid Build Coastguard Worker 5695*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _har05: 5696*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _dptr, %eax 5697*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5698*9880d681SAndroid Build Coastguard Worker 5699*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _har05: 5700*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L84$pb 5701*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L84$pb: 5702*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5703*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dptr-L84$pb([[EAX]]), %eax 5704*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5705*9880d681SAndroid Build Coastguard Worker 5706*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _har05: 5707*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dptr(%rip), %rax 5708*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5709*9880d681SAndroid Build Coastguard Worker 5710*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _har05: 5711*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dptr(%rip), %rax 5712*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5713*9880d681SAndroid Build Coastguard Worker 5714*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _har05: 5715*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dptr(%rip), %rax 5716*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5717*9880d681SAndroid Build Coastguard Worker} 5718*9880d681SAndroid Build Coastguard Worker 5719*9880d681SAndroid Build Coastguard Workerdefine i8* @har06() nounwind { 5720*9880d681SAndroid Build Coastguard Workerentry: 5721*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @lsrc to i8*) 5722*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: har06: 5723*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $lsrc, %eax 5724*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5725*9880d681SAndroid Build Coastguard Worker 5726*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: har06: 5727*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $lsrc, %eax 5728*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5729*9880d681SAndroid Build Coastguard Worker 5730*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: har06: 5731*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $lsrc, %eax 5732*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5733*9880d681SAndroid Build Coastguard Worker 5734*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: har06: 5735*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc(%rip), %rax 5736*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5737*9880d681SAndroid Build Coastguard Worker 5738*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _har06: 5739*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_lsrc, %eax 5740*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5741*9880d681SAndroid Build Coastguard Worker 5742*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _har06: 5743*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_lsrc, %eax 5744*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5745*9880d681SAndroid Build Coastguard Worker 5746*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _har06: 5747*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L85$pb 5748*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L85$pb: 5749*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5750*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _lsrc-L85$pb([[EAX]]), %eax 5751*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5752*9880d681SAndroid Build Coastguard Worker 5753*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _har06: 5754*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc(%rip), %rax 5755*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5756*9880d681SAndroid Build Coastguard Worker 5757*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _har06: 5758*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc(%rip), %rax 5759*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5760*9880d681SAndroid Build Coastguard Worker 5761*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _har06: 5762*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc(%rip), %rax 5763*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5764*9880d681SAndroid Build Coastguard Worker} 5765*9880d681SAndroid Build Coastguard Worker 5766*9880d681SAndroid Build Coastguard Workerdefine i8* @har07() nounwind { 5767*9880d681SAndroid Build Coastguard Workerentry: 5768*9880d681SAndroid Build Coastguard Worker ret i8* bitcast ([131072 x i32]* @ldst to i8*) 5769*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: har07: 5770*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $ldst, %eax 5771*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5772*9880d681SAndroid Build Coastguard Worker 5773*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: har07: 5774*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ldst, %eax 5775*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5776*9880d681SAndroid Build Coastguard Worker 5777*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: har07: 5778*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ldst, %eax 5779*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5780*9880d681SAndroid Build Coastguard Worker 5781*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: har07: 5782*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst(%rip), %rax 5783*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5784*9880d681SAndroid Build Coastguard Worker 5785*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _har07: 5786*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ldst, %eax 5787*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5788*9880d681SAndroid Build Coastguard Worker 5789*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _har07: 5790*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ldst, %eax 5791*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5792*9880d681SAndroid Build Coastguard Worker 5793*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _har07: 5794*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L86$pb 5795*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L86$pb: 5796*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5797*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _ldst-L86$pb([[EAX]]), %eax 5798*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5799*9880d681SAndroid Build Coastguard Worker 5800*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _har07: 5801*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst(%rip), %rax 5802*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5803*9880d681SAndroid Build Coastguard Worker 5804*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _har07: 5805*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst(%rip), %rax 5806*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5807*9880d681SAndroid Build Coastguard Worker 5808*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _har07: 5809*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst(%rip), %rax 5810*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5811*9880d681SAndroid Build Coastguard Worker} 5812*9880d681SAndroid Build Coastguard Worker 5813*9880d681SAndroid Build Coastguard Workerdefine i8* @har08() nounwind { 5814*9880d681SAndroid Build Coastguard Workerentry: 5815*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 5816*9880d681SAndroid Build Coastguard Worker %1 = bitcast i32* %0 to i8* 5817*9880d681SAndroid Build Coastguard Worker ret i8* %1 5818*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: har08: 5819*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq lptr(%rip), %rax 5820*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5821*9880d681SAndroid Build Coastguard Worker 5822*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: har08: 5823*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl lptr, %eax 5824*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5825*9880d681SAndroid Build Coastguard Worker 5826*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: har08: 5827*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl lptr, %eax 5828*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5829*9880d681SAndroid Build Coastguard Worker 5830*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: har08: 5831*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq lptr(%rip), %rax 5832*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5833*9880d681SAndroid Build Coastguard Worker 5834*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _har08: 5835*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _lptr, %eax 5836*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5837*9880d681SAndroid Build Coastguard Worker 5838*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _har08: 5839*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _lptr, %eax 5840*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5841*9880d681SAndroid Build Coastguard Worker 5842*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _har08: 5843*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L87$pb 5844*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L87$pb: 5845*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5846*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lptr-L87$pb([[EAX]]), %eax 5847*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5848*9880d681SAndroid Build Coastguard Worker 5849*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _har08: 5850*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _lptr(%rip), %rax 5851*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5852*9880d681SAndroid Build Coastguard Worker 5853*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _har08: 5854*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _lptr(%rip), %rax 5855*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5856*9880d681SAndroid Build Coastguard Worker 5857*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _har08: 5858*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _lptr(%rip), %rax 5859*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5860*9880d681SAndroid Build Coastguard Worker} 5861*9880d681SAndroid Build Coastguard Worker 5862*9880d681SAndroid Build Coastguard Workerdefine i8* @bat00() nounwind { 5863*9880d681SAndroid Build Coastguard Workerentry: 5864*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 16) to i8*) 5865*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bat00: 5866*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $src+64, %eax 5867*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5868*9880d681SAndroid Build Coastguard Worker 5869*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bat00: 5870*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $src+64, %eax 5871*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5872*9880d681SAndroid Build Coastguard Worker 5873*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bat00: 5874*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $src+64, %eax 5875*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5876*9880d681SAndroid Build Coastguard Worker 5877*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bat00: 5878*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), %rax 5879*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, %rax 5880*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5881*9880d681SAndroid Build Coastguard Worker 5882*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bat00: 5883*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_src+64, %eax 5884*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5885*9880d681SAndroid Build Coastguard Worker 5886*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bat00: 5887*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_src$non_lazy_ptr, %eax 5888*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $64, %eax 5889*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5890*9880d681SAndroid Build Coastguard Worker 5891*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bat00: 5892*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L88$pb 5893*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L88$pb: 5894*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5895*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L88$pb([[EAX]]), %eax 5896*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $64, %eax 5897*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5898*9880d681SAndroid Build Coastguard Worker 5899*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bat00: 5900*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), %rax 5901*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq $64, %rax 5902*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5903*9880d681SAndroid Build Coastguard Worker 5904*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bat00: 5905*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), %rax 5906*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax 5907*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5908*9880d681SAndroid Build Coastguard Worker 5909*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bat00: 5910*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), %rax 5911*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq $64, %rax 5912*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5913*9880d681SAndroid Build Coastguard Worker} 5914*9880d681SAndroid Build Coastguard Worker 5915*9880d681SAndroid Build Coastguard Workerdefine i8* @bxt00() nounwind { 5916*9880d681SAndroid Build Coastguard Workerentry: 5917*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([32 x i32], [32 x i32]* @xsrc, i32 0, i64 16) to i8*) 5918*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bxt00: 5919*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $xsrc+64, %eax 5920*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5921*9880d681SAndroid Build Coastguard Worker 5922*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bxt00: 5923*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $xsrc+64, %eax 5924*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5925*9880d681SAndroid Build Coastguard Worker 5926*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bxt00: 5927*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $xsrc+64, %eax 5928*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5929*9880d681SAndroid Build Coastguard Worker 5930*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bxt00: 5931*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), %rax 5932*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, %rax 5933*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5934*9880d681SAndroid Build Coastguard Worker 5935*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bxt00: 5936*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_xsrc+64, %eax 5937*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5938*9880d681SAndroid Build Coastguard Worker 5939*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bxt00: 5940*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xsrc$non_lazy_ptr, %eax 5941*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $64, %eax 5942*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5943*9880d681SAndroid Build Coastguard Worker 5944*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bxt00: 5945*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L89$pb 5946*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L89$pb: 5947*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 5948*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L89$pb([[EAX]]), %eax 5949*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $64, %eax 5950*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 5951*9880d681SAndroid Build Coastguard Worker 5952*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bxt00: 5953*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), %rax 5954*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq $64, %rax 5955*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 5956*9880d681SAndroid Build Coastguard Worker 5957*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bxt00: 5958*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), %rax 5959*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax 5960*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 5961*9880d681SAndroid Build Coastguard Worker 5962*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bxt00: 5963*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), %rax 5964*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq $64, %rax 5965*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 5966*9880d681SAndroid Build Coastguard Worker} 5967*9880d681SAndroid Build Coastguard Worker 5968*9880d681SAndroid Build Coastguard Workerdefine i8* @bat01() nounwind { 5969*9880d681SAndroid Build Coastguard Workerentry: 5970*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 16) to i8*) 5971*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bat01: 5972*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $dst+64, %eax 5973*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 5974*9880d681SAndroid Build Coastguard Worker 5975*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bat01: 5976*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dst+64, %eax 5977*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 5978*9880d681SAndroid Build Coastguard Worker 5979*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bat01: 5980*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dst+64, %eax 5981*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 5982*9880d681SAndroid Build Coastguard Worker 5983*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bat01: 5984*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dst@GOTPCREL(%rip), %rax 5985*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, %rax 5986*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 5987*9880d681SAndroid Build Coastguard Worker 5988*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bat01: 5989*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dst+64, %eax 5990*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 5991*9880d681SAndroid Build Coastguard Worker 5992*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bat01: 5993*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_dst$non_lazy_ptr, %eax 5994*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $64, %eax 5995*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 5996*9880d681SAndroid Build Coastguard Worker 5997*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bat01: 5998*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L90$pb 5999*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L90$pb: 6000*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6001*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L90$pb([[EAX]]), %eax 6002*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $64, %eax 6003*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6004*9880d681SAndroid Build Coastguard Worker 6005*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bat01: 6006*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dst@GOTPCREL(%rip), %rax 6007*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq $64, %rax 6008*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6009*9880d681SAndroid Build Coastguard Worker 6010*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bat01: 6011*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dst@GOTPCREL(%rip), %rax 6012*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax 6013*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6014*9880d681SAndroid Build Coastguard Worker 6015*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bat01: 6016*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), %rax 6017*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq $64, %rax 6018*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6019*9880d681SAndroid Build Coastguard Worker} 6020*9880d681SAndroid Build Coastguard Worker 6021*9880d681SAndroid Build Coastguard Workerdefine i8* @bxt01() nounwind { 6022*9880d681SAndroid Build Coastguard Workerentry: 6023*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i64 16) to i8*) 6024*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bxt01: 6025*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $xdst+64, %eax 6026*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6027*9880d681SAndroid Build Coastguard Worker 6028*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bxt01: 6029*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $xdst+64, %eax 6030*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6031*9880d681SAndroid Build Coastguard Worker 6032*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bxt01: 6033*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $xdst+64, %eax 6034*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6035*9880d681SAndroid Build Coastguard Worker 6036*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bxt01: 6037*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), %rax 6038*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, %rax 6039*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6040*9880d681SAndroid Build Coastguard Worker 6041*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bxt01: 6042*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_xdst+64, %eax 6043*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6044*9880d681SAndroid Build Coastguard Worker 6045*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bxt01: 6046*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_xdst$non_lazy_ptr, %eax 6047*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $64, %eax 6048*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6049*9880d681SAndroid Build Coastguard Worker 6050*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bxt01: 6051*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L91$pb 6052*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L91$pb: 6053*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6054*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L91$pb([[EAX]]), %eax 6055*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $64, %eax 6056*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6057*9880d681SAndroid Build Coastguard Worker 6058*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bxt01: 6059*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xdst@GOTPCREL(%rip), %rax 6060*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq $64, %rax 6061*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6062*9880d681SAndroid Build Coastguard Worker 6063*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bxt01: 6064*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xdst@GOTPCREL(%rip), %rax 6065*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax 6066*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6067*9880d681SAndroid Build Coastguard Worker 6068*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bxt01: 6069*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), %rax 6070*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq $64, %rax 6071*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6072*9880d681SAndroid Build Coastguard Worker} 6073*9880d681SAndroid Build Coastguard Worker 6074*9880d681SAndroid Build Coastguard Workerdefine i8* @bat02() nounwind { 6075*9880d681SAndroid Build Coastguard Workerentry: 6076*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 6077*9880d681SAndroid Build Coastguard Worker %1 = getelementptr i32, i32* %0, i64 16 6078*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 6079*9880d681SAndroid Build Coastguard Worker ret i8* %2 6080*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bat02: 6081*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), %rax 6082*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: addq $64, %rax 6083*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6084*9880d681SAndroid Build Coastguard Worker 6085*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bat02: 6086*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl ptr, %eax 6087*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl $64, %eax 6088*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6089*9880d681SAndroid Build Coastguard Worker 6090*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bat02: 6091*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl ptr, %eax 6092*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl $64, %eax 6093*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6094*9880d681SAndroid Build Coastguard Worker 6095*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bat02: 6096*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]] 6097*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RAX]]), %rax 6098*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, %rax 6099*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6100*9880d681SAndroid Build Coastguard Worker 6101*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bat02: 6102*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _ptr, %eax 6103*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $64, %eax 6104*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6105*9880d681SAndroid Build Coastguard Worker 6106*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bat02: 6107*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_ptr$non_lazy_ptr, [[EAX:%e.x]] 6108*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 6109*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $64, %eax 6110*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6111*9880d681SAndroid Build Coastguard Worker 6112*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bat02: 6113*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L92$pb 6114*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L92$pb: 6115*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6116*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L92$pb([[EAX]]), [[EAX:%e.x]] 6117*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), %eax 6118*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $64, %eax 6119*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6120*9880d681SAndroid Build Coastguard Worker 6121*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bat02: 6122*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 6123*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RAX]]), %rax 6124*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq $64, %rax 6125*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6126*9880d681SAndroid Build Coastguard Worker 6127*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bat02: 6128*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 6129*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 6130*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax 6131*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6132*9880d681SAndroid Build Coastguard Worker 6133*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bat02: 6134*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 6135*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RAX]]), %rax 6136*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq $64, %rax 6137*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6138*9880d681SAndroid Build Coastguard Worker} 6139*9880d681SAndroid Build Coastguard Worker 6140*9880d681SAndroid Build Coastguard Workerdefine i8* @bat03() nounwind { 6141*9880d681SAndroid Build Coastguard Workerentry: 6142*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 16) to i8*) 6143*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bat03: 6144*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $dsrc+64, %eax 6145*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6146*9880d681SAndroid Build Coastguard Worker 6147*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bat03: 6148*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dsrc+64, %eax 6149*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6150*9880d681SAndroid Build Coastguard Worker 6151*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bat03: 6152*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dsrc+64, %eax 6153*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6154*9880d681SAndroid Build Coastguard Worker 6155*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bat03: 6156*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), %rax 6157*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, %rax 6158*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6159*9880d681SAndroid Build Coastguard Worker 6160*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bat03: 6161*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dsrc+64, %eax 6162*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6163*9880d681SAndroid Build Coastguard Worker 6164*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bat03: 6165*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_dsrc+64, %eax 6166*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6167*9880d681SAndroid Build Coastguard Worker 6168*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bat03: 6169*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L93$pb 6170*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L93$pb: 6171*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6172*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_dsrc-L93$pb)+64([[EAX]]), %eax 6173*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6174*9880d681SAndroid Build Coastguard Worker 6175*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bat03: 6176*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc+64(%rip), %rax 6177*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6178*9880d681SAndroid Build Coastguard Worker 6179*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bat03: 6180*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc+64(%rip), %rax 6181*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6182*9880d681SAndroid Build Coastguard Worker 6183*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bat03: 6184*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc+64(%rip), %rax 6185*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6186*9880d681SAndroid Build Coastguard Worker} 6187*9880d681SAndroid Build Coastguard Worker 6188*9880d681SAndroid Build Coastguard Workerdefine i8* @bat04() nounwind { 6189*9880d681SAndroid Build Coastguard Workerentry: 6190*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 16) to i8*) 6191*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bat04: 6192*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $ddst+64, %eax 6193*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6194*9880d681SAndroid Build Coastguard Worker 6195*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bat04: 6196*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ddst+64, %eax 6197*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6198*9880d681SAndroid Build Coastguard Worker 6199*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bat04: 6200*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ddst+64, %eax 6201*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6202*9880d681SAndroid Build Coastguard Worker 6203*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bat04: 6204*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), %rax 6205*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, %rax 6206*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6207*9880d681SAndroid Build Coastguard Worker 6208*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bat04: 6209*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ddst+64, %eax 6210*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6211*9880d681SAndroid Build Coastguard Worker 6212*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bat04: 6213*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ddst+64, %eax 6214*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6215*9880d681SAndroid Build Coastguard Worker 6216*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bat04: 6217*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L94$pb 6218*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L94$pb: 6219*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6220*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ddst-L94$pb)+64([[EAX]]), %eax 6221*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6222*9880d681SAndroid Build Coastguard Worker 6223*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bat04: 6224*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst+64(%rip), %rax 6225*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6226*9880d681SAndroid Build Coastguard Worker 6227*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bat04: 6228*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst+64(%rip), %rax 6229*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6230*9880d681SAndroid Build Coastguard Worker 6231*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bat04: 6232*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst+64(%rip), %rax 6233*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6234*9880d681SAndroid Build Coastguard Worker} 6235*9880d681SAndroid Build Coastguard Worker 6236*9880d681SAndroid Build Coastguard Workerdefine i8* @bat05() nounwind { 6237*9880d681SAndroid Build Coastguard Workerentry: 6238*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 6239*9880d681SAndroid Build Coastguard Worker %1 = getelementptr i32, i32* %0, i64 16 6240*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 6241*9880d681SAndroid Build Coastguard Worker ret i8* %2 6242*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bat05: 6243*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq dptr(%rip), %rax 6244*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: addq $64, %rax 6245*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6246*9880d681SAndroid Build Coastguard Worker 6247*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bat05: 6248*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl dptr, %eax 6249*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl $64, %eax 6250*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6251*9880d681SAndroid Build Coastguard Worker 6252*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bat05: 6253*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl dptr, %eax 6254*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl $64, %eax 6255*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6256*9880d681SAndroid Build Coastguard Worker 6257*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bat05: 6258*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), [[RAX:%r.x]] 6259*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RAX]]), %rax 6260*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, %rax 6261*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6262*9880d681SAndroid Build Coastguard Worker 6263*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bat05: 6264*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _dptr, %eax 6265*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $64, %eax 6266*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6267*9880d681SAndroid Build Coastguard Worker 6268*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bat05: 6269*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _dptr, %eax 6270*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $64, %eax 6271*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6272*9880d681SAndroid Build Coastguard Worker 6273*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bat05: 6274*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L95$pb 6275*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L95$pb: 6276*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6277*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dptr-L95$pb([[EAX]]), %eax 6278*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $64, %eax 6279*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6280*9880d681SAndroid Build Coastguard Worker 6281*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bat05: 6282*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dptr(%rip), %rax 6283*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq $64, %rax 6284*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6285*9880d681SAndroid Build Coastguard Worker 6286*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bat05: 6287*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dptr(%rip), %rax 6288*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax 6289*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6290*9880d681SAndroid Build Coastguard Worker 6291*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bat05: 6292*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dptr(%rip), %rax 6293*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq $64, %rax 6294*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6295*9880d681SAndroid Build Coastguard Worker} 6296*9880d681SAndroid Build Coastguard Worker 6297*9880d681SAndroid Build Coastguard Workerdefine i8* @bat06() nounwind { 6298*9880d681SAndroid Build Coastguard Workerentry: 6299*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 16) to i8*) 6300*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bat06: 6301*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $lsrc+64, %eax 6302*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6303*9880d681SAndroid Build Coastguard Worker 6304*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bat06: 6305*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $lsrc+64, %eax 6306*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6307*9880d681SAndroid Build Coastguard Worker 6308*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bat06: 6309*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $lsrc+64, %eax 6310*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6311*9880d681SAndroid Build Coastguard Worker 6312*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bat06: 6313*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc+64(%rip), %rax 6314*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6315*9880d681SAndroid Build Coastguard Worker 6316*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bat06: 6317*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_lsrc+64, %eax 6318*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6319*9880d681SAndroid Build Coastguard Worker 6320*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bat06: 6321*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_lsrc+64, %eax 6322*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6323*9880d681SAndroid Build Coastguard Worker 6324*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bat06: 6325*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L96$pb 6326*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L96$pb: 6327*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6328*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_lsrc-L96$pb)+64([[EAX]]), %eax 6329*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6330*9880d681SAndroid Build Coastguard Worker 6331*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bat06: 6332*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc+64(%rip), %rax 6333*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6334*9880d681SAndroid Build Coastguard Worker 6335*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bat06: 6336*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc+64(%rip), %rax 6337*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6338*9880d681SAndroid Build Coastguard Worker 6339*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bat06: 6340*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc+64(%rip), %rax 6341*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6342*9880d681SAndroid Build Coastguard Worker} 6343*9880d681SAndroid Build Coastguard Worker 6344*9880d681SAndroid Build Coastguard Workerdefine i8* @bat07() nounwind { 6345*9880d681SAndroid Build Coastguard Workerentry: 6346*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 16) to i8*) 6347*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bat07: 6348*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $ldst+64, %eax 6349*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6350*9880d681SAndroid Build Coastguard Worker 6351*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bat07: 6352*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ldst+64, %eax 6353*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6354*9880d681SAndroid Build Coastguard Worker 6355*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bat07: 6356*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ldst+64, %eax 6357*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6358*9880d681SAndroid Build Coastguard Worker 6359*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bat07: 6360*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst+64(%rip), %rax 6361*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6362*9880d681SAndroid Build Coastguard Worker 6363*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bat07: 6364*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ldst+64, %eax 6365*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6366*9880d681SAndroid Build Coastguard Worker 6367*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bat07: 6368*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ldst+64, %eax 6369*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6370*9880d681SAndroid Build Coastguard Worker 6371*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bat07: 6372*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L97$pb 6373*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L97$pb: 6374*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6375*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ldst-L97$pb)+64([[EAX]]), %eax 6376*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6377*9880d681SAndroid Build Coastguard Worker 6378*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bat07: 6379*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst+64(%rip), %rax 6380*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6381*9880d681SAndroid Build Coastguard Worker 6382*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bat07: 6383*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst+64(%rip), %rax 6384*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6385*9880d681SAndroid Build Coastguard Worker 6386*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bat07: 6387*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst+64(%rip), %rax 6388*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6389*9880d681SAndroid Build Coastguard Worker} 6390*9880d681SAndroid Build Coastguard Worker 6391*9880d681SAndroid Build Coastguard Workerdefine i8* @bat08() nounwind { 6392*9880d681SAndroid Build Coastguard Workerentry: 6393*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 6394*9880d681SAndroid Build Coastguard Worker %1 = getelementptr i32, i32* %0, i64 16 6395*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 6396*9880d681SAndroid Build Coastguard Worker ret i8* %2 6397*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bat08: 6398*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq lptr(%rip), %rax 6399*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: addq $64, %rax 6400*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6401*9880d681SAndroid Build Coastguard Worker 6402*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bat08: 6403*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl lptr, %eax 6404*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl $64, %eax 6405*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6406*9880d681SAndroid Build Coastguard Worker 6407*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bat08: 6408*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl lptr, %eax 6409*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl $64, %eax 6410*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6411*9880d681SAndroid Build Coastguard Worker 6412*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bat08: 6413*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq lptr(%rip), %rax 6414*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq $64, %rax 6415*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6416*9880d681SAndroid Build Coastguard Worker 6417*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bat08: 6418*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl _lptr, %eax 6419*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $64, %eax 6420*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6421*9880d681SAndroid Build Coastguard Worker 6422*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bat08: 6423*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl _lptr, %eax 6424*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $64, %eax 6425*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6426*9880d681SAndroid Build Coastguard Worker 6427*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bat08: 6428*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L98$pb 6429*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L98$pb: 6430*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6431*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lptr-L98$pb([[EAX]]), %eax 6432*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $64, %eax 6433*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6434*9880d681SAndroid Build Coastguard Worker 6435*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bat08: 6436*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _lptr(%rip), %rax 6437*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq $64, %rax 6438*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6439*9880d681SAndroid Build Coastguard Worker 6440*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bat08: 6441*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _lptr(%rip), %rax 6442*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq $64, %rax 6443*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6444*9880d681SAndroid Build Coastguard Worker 6445*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bat08: 6446*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _lptr(%rip), %rax 6447*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq $64, %rax 6448*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6449*9880d681SAndroid Build Coastguard Worker} 6450*9880d681SAndroid Build Coastguard Worker 6451*9880d681SAndroid Build Coastguard Workerdefine i8* @bam00() nounwind { 6452*9880d681SAndroid Build Coastguard Workerentry: 6453*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @src, i32 0, i64 65536) to i8*) 6454*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bam00: 6455*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $src+262144, %eax 6456*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6457*9880d681SAndroid Build Coastguard Worker 6458*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bam00: 6459*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $src+262144, %eax 6460*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6461*9880d681SAndroid Build Coastguard Worker 6462*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bam00: 6463*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $src+262144, %eax 6464*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6465*9880d681SAndroid Build Coastguard Worker 6466*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bam00: 6467*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl $262144, %eax 6468*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq src@GOTPCREL(%rip), %rax 6469*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6470*9880d681SAndroid Build Coastguard Worker 6471*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bam00: 6472*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_src+262144, %eax 6473*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6474*9880d681SAndroid Build Coastguard Worker 6475*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bam00: 6476*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $262144, %eax 6477*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl L_src$non_lazy_ptr, %eax 6478*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6479*9880d681SAndroid Build Coastguard Worker 6480*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bam00: 6481*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L99$pb 6482*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L99$pb: 6483*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[ECX:%e.x]] 6484*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl $262144, %eax 6485*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl L_src$non_lazy_ptr-L99$pb([[ECX]]), %eax 6486*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6487*9880d681SAndroid Build Coastguard Worker 6488*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bam00: 6489*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl $262144, %eax 6490*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq _src@GOTPCREL(%rip), %rax 6491*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6492*9880d681SAndroid Build Coastguard Worker 6493*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bam00: 6494*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl $262144, %eax 6495*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq _src@GOTPCREL(%rip), %rax 6496*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6497*9880d681SAndroid Build Coastguard Worker 6498*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bam00: 6499*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl $262144, %eax 6500*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq _src@GOTPCREL(%rip), %rax 6501*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6502*9880d681SAndroid Build Coastguard Worker} 6503*9880d681SAndroid Build Coastguard Worker 6504*9880d681SAndroid Build Coastguard Workerdefine i8* @bam01() nounwind { 6505*9880d681SAndroid Build Coastguard Workerentry: 6506*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @dst, i32 0, i64 65536) to i8*) 6507*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bam01: 6508*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $dst+262144, %eax 6509*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6510*9880d681SAndroid Build Coastguard Worker 6511*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bam01: 6512*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dst+262144, %eax 6513*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6514*9880d681SAndroid Build Coastguard Worker 6515*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bam01: 6516*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dst+262144, %eax 6517*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6518*9880d681SAndroid Build Coastguard Worker 6519*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bam01: 6520*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl $262144, %eax 6521*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq dst@GOTPCREL(%rip), %rax 6522*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6523*9880d681SAndroid Build Coastguard Worker 6524*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bam01: 6525*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dst+262144, %eax 6526*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6527*9880d681SAndroid Build Coastguard Worker 6528*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bam01: 6529*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $262144, %eax 6530*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl L_dst$non_lazy_ptr, %eax 6531*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6532*9880d681SAndroid Build Coastguard Worker 6533*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bam01: 6534*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L100$pb 6535*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L100$pb: 6536*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[ECX:%e.x]] 6537*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl $262144, %eax 6538*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl L_dst$non_lazy_ptr-L100$pb([[ECX]]), %eax 6539*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6540*9880d681SAndroid Build Coastguard Worker 6541*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bam01: 6542*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl $262144, %eax 6543*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq _dst@GOTPCREL(%rip), %rax 6544*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6545*9880d681SAndroid Build Coastguard Worker 6546*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bam01: 6547*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl $262144, %eax 6548*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq _dst@GOTPCREL(%rip), %rax 6549*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6550*9880d681SAndroid Build Coastguard Worker 6551*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bam01: 6552*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl $262144, %eax 6553*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq _dst@GOTPCREL(%rip), %rax 6554*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6555*9880d681SAndroid Build Coastguard Worker} 6556*9880d681SAndroid Build Coastguard Worker 6557*9880d681SAndroid Build Coastguard Workerdefine i8* @bxm01() nounwind { 6558*9880d681SAndroid Build Coastguard Workerentry: 6559*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([32 x i32], [32 x i32]* @xdst, i32 0, i64 65536) to i8*) 6560*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bxm01: 6561*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $xdst+262144, %eax 6562*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6563*9880d681SAndroid Build Coastguard Worker 6564*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bxm01: 6565*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $xdst+262144, %eax 6566*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6567*9880d681SAndroid Build Coastguard Worker 6568*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bxm01: 6569*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $xdst+262144, %eax 6570*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6571*9880d681SAndroid Build Coastguard Worker 6572*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bxm01: 6573*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl $262144, %eax 6574*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq xdst@GOTPCREL(%rip), %rax 6575*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6576*9880d681SAndroid Build Coastguard Worker 6577*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bxm01: 6578*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_xdst+262144, %eax 6579*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6580*9880d681SAndroid Build Coastguard Worker 6581*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bxm01: 6582*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $262144, %eax 6583*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl L_xdst$non_lazy_ptr, %eax 6584*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6585*9880d681SAndroid Build Coastguard Worker 6586*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bxm01: 6587*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L101$pb 6588*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L101$pb: 6589*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[ECX:%e.x]] 6590*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl $262144, %eax 6591*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl L_xdst$non_lazy_ptr-L101$pb([[ECX]]), %eax 6592*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6593*9880d681SAndroid Build Coastguard Worker 6594*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bxm01: 6595*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl $262144, %eax 6596*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax 6597*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6598*9880d681SAndroid Build Coastguard Worker 6599*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bxm01: 6600*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl $262144, %eax 6601*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax 6602*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6603*9880d681SAndroid Build Coastguard Worker 6604*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bxm01: 6605*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl $262144, %eax 6606*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq _xdst@GOTPCREL(%rip), %rax 6607*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6608*9880d681SAndroid Build Coastguard Worker} 6609*9880d681SAndroid Build Coastguard Worker 6610*9880d681SAndroid Build Coastguard Workerdefine i8* @bam02() nounwind { 6611*9880d681SAndroid Build Coastguard Workerentry: 6612*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 6613*9880d681SAndroid Build Coastguard Worker %1 = getelementptr i32, i32* %0, i64 65536 6614*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 6615*9880d681SAndroid Build Coastguard Worker ret i8* %2 6616*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bam02: 6617*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $262144, %eax 6618*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: addq ptr(%rip), %rax 6619*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6620*9880d681SAndroid Build Coastguard Worker 6621*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bam02: 6622*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $262144, %eax 6623*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl ptr, %eax 6624*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6625*9880d681SAndroid Build Coastguard Worker 6626*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bam02: 6627*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $262144, %eax 6628*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl ptr, %eax 6629*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6630*9880d681SAndroid Build Coastguard Worker 6631*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bam02: 6632*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl $262144, %eax 6633*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ptr@GOTPCREL(%rip), [[RCX:%r.x]] 6634*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq ([[RCX]]), %rax 6635*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6636*9880d681SAndroid Build Coastguard Worker 6637*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bam02: 6638*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $262144, %eax 6639*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl _ptr, %eax 6640*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6641*9880d681SAndroid Build Coastguard Worker 6642*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bam02: 6643*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_ptr$non_lazy_ptr, [[ECX:%e.x]] 6644*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl $262144, %eax 6645*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl ([[ECX]]), %eax 6646*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6647*9880d681SAndroid Build Coastguard Worker 6648*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bam02: 6649*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L102$pb 6650*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L102$pb: 6651*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6652*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L102$pb([[EAX]]), [[ECX:%e.x]] 6653*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl $262144, %eax 6654*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl ([[ECX]]), %eax 6655*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6656*9880d681SAndroid Build Coastguard Worker 6657*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bam02: 6658*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl $262144, %eax 6659*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 6660*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq ([[RCX]]), %rax 6661*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6662*9880d681SAndroid Build Coastguard Worker 6663*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bam02: 6664*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl $262144, %eax 6665*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 6666*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq ([[RCX]]), %rax 6667*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6668*9880d681SAndroid Build Coastguard Worker 6669*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bam02: 6670*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl $262144, %eax 6671*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ptr@GOTPCREL(%rip), [[RCX:%r.x]] 6672*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq ([[RCX]]), %rax 6673*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6674*9880d681SAndroid Build Coastguard Worker} 6675*9880d681SAndroid Build Coastguard Worker 6676*9880d681SAndroid Build Coastguard Workerdefine i8* @bam03() nounwind { 6677*9880d681SAndroid Build Coastguard Workerentry: 6678*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @dsrc, i32 0, i64 65536) to i8*) 6679*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bam03: 6680*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $dsrc+262144, %eax 6681*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6682*9880d681SAndroid Build Coastguard Worker 6683*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bam03: 6684*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dsrc+262144, %eax 6685*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6686*9880d681SAndroid Build Coastguard Worker 6687*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bam03: 6688*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dsrc+262144, %eax 6689*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6690*9880d681SAndroid Build Coastguard Worker 6691*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bam03: 6692*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl $262144, %eax 6693*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq dsrc@GOTPCREL(%rip), %rax 6694*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6695*9880d681SAndroid Build Coastguard Worker 6696*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bam03: 6697*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dsrc+262144, %eax 6698*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6699*9880d681SAndroid Build Coastguard Worker 6700*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bam03: 6701*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_dsrc+262144, %eax 6702*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6703*9880d681SAndroid Build Coastguard Worker 6704*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bam03: 6705*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L103$pb 6706*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L103$pb: 6707*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6708*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_dsrc-L103$pb)+262144([[EAX]]), %eax 6709*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6710*9880d681SAndroid Build Coastguard Worker 6711*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bam03: 6712*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc+262144(%rip), %rax 6713*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6714*9880d681SAndroid Build Coastguard Worker 6715*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bam03: 6716*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc+262144(%rip), %rax 6717*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6718*9880d681SAndroid Build Coastguard Worker 6719*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bam03: 6720*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc+262144(%rip), %rax 6721*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6722*9880d681SAndroid Build Coastguard Worker} 6723*9880d681SAndroid Build Coastguard Worker 6724*9880d681SAndroid Build Coastguard Workerdefine i8* @bam04() nounwind { 6725*9880d681SAndroid Build Coastguard Workerentry: 6726*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @ddst, i32 0, i64 65536) to i8*) 6727*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bam04: 6728*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $ddst+262144, %eax 6729*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6730*9880d681SAndroid Build Coastguard Worker 6731*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bam04: 6732*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ddst+262144, %eax 6733*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6734*9880d681SAndroid Build Coastguard Worker 6735*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bam04: 6736*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ddst+262144, %eax 6737*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6738*9880d681SAndroid Build Coastguard Worker 6739*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bam04: 6740*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl $262144, %eax 6741*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq ddst@GOTPCREL(%rip), %rax 6742*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6743*9880d681SAndroid Build Coastguard Worker 6744*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bam04: 6745*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ddst+262144, %eax 6746*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6747*9880d681SAndroid Build Coastguard Worker 6748*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bam04: 6749*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ddst+262144, %eax 6750*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6751*9880d681SAndroid Build Coastguard Worker 6752*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bam04: 6753*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L104$pb 6754*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L104$pb: 6755*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6756*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ddst-L104$pb)+262144([[EAX]]), %eax 6757*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6758*9880d681SAndroid Build Coastguard Worker 6759*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bam04: 6760*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst+262144(%rip), %rax 6761*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6762*9880d681SAndroid Build Coastguard Worker 6763*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bam04: 6764*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst+262144(%rip), %rax 6765*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6766*9880d681SAndroid Build Coastguard Worker 6767*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bam04: 6768*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst+262144(%rip), %rax 6769*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6770*9880d681SAndroid Build Coastguard Worker} 6771*9880d681SAndroid Build Coastguard Worker 6772*9880d681SAndroid Build Coastguard Workerdefine i8* @bam05() nounwind { 6773*9880d681SAndroid Build Coastguard Workerentry: 6774*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 6775*9880d681SAndroid Build Coastguard Worker %1 = getelementptr i32, i32* %0, i64 65536 6776*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 6777*9880d681SAndroid Build Coastguard Worker ret i8* %2 6778*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bam05: 6779*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $262144, %eax 6780*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: addq dptr(%rip), %rax 6781*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6782*9880d681SAndroid Build Coastguard Worker 6783*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bam05: 6784*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $262144, %eax 6785*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl dptr, %eax 6786*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6787*9880d681SAndroid Build Coastguard Worker 6788*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bam05: 6789*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $262144, %eax 6790*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl dptr, %eax 6791*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6792*9880d681SAndroid Build Coastguard Worker 6793*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bam05: 6794*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl $262144, %eax 6795*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq dptr@GOTPCREL(%rip), [[RCX:%r.x]] 6796*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq ([[RCX]]), %rax 6797*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6798*9880d681SAndroid Build Coastguard Worker 6799*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bam05: 6800*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $262144, %eax 6801*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl _dptr, %eax 6802*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6803*9880d681SAndroid Build Coastguard Worker 6804*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bam05: 6805*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $262144, %eax 6806*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl _dptr, %eax 6807*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6808*9880d681SAndroid Build Coastguard Worker 6809*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bam05: 6810*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L105$pb 6811*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L105$pb: 6812*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[ECX:%e.x]] 6813*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl $262144, %eax 6814*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl _dptr-L105$pb([[ECX]]), %eax 6815*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6816*9880d681SAndroid Build Coastguard Worker 6817*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bam05: 6818*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl $262144, %eax 6819*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq _dptr(%rip), %rax 6820*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6821*9880d681SAndroid Build Coastguard Worker 6822*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bam05: 6823*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl $262144, %eax 6824*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq _dptr(%rip), %rax 6825*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6826*9880d681SAndroid Build Coastguard Worker 6827*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bam05: 6828*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl $262144, %eax 6829*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq _dptr(%rip), %rax 6830*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6831*9880d681SAndroid Build Coastguard Worker} 6832*9880d681SAndroid Build Coastguard Worker 6833*9880d681SAndroid Build Coastguard Workerdefine i8* @bam06() nounwind { 6834*9880d681SAndroid Build Coastguard Workerentry: 6835*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @lsrc, i32 0, i64 65536) to i8*) 6836*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bam06: 6837*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $lsrc+262144, %eax 6838*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6839*9880d681SAndroid Build Coastguard Worker 6840*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bam06: 6841*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $lsrc+262144, %eax 6842*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6843*9880d681SAndroid Build Coastguard Worker 6844*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bam06: 6845*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $lsrc+262144, %eax 6846*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6847*9880d681SAndroid Build Coastguard Worker 6848*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bam06: 6849*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc+262144(%rip), %rax 6850*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6851*9880d681SAndroid Build Coastguard Worker 6852*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bam06: 6853*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_lsrc+262144, %eax 6854*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6855*9880d681SAndroid Build Coastguard Worker 6856*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bam06: 6857*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_lsrc+262144, %eax 6858*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6859*9880d681SAndroid Build Coastguard Worker 6860*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bam06: 6861*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L106$pb 6862*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L106$pb: 6863*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 6864*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_lsrc-L106$pb)+262144([[EAX]]), %eax 6865*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6866*9880d681SAndroid Build Coastguard Worker 6867*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bam06: 6868*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc+262144(%rip), %rax 6869*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6870*9880d681SAndroid Build Coastguard Worker 6871*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bam06: 6872*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc+262144(%rip), %rax 6873*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6874*9880d681SAndroid Build Coastguard Worker 6875*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bam06: 6876*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc+262144(%rip), %rax 6877*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6878*9880d681SAndroid Build Coastguard Worker} 6879*9880d681SAndroid Build Coastguard Worker 6880*9880d681SAndroid Build Coastguard Workerdefine i8* @bam07() nounwind { 6881*9880d681SAndroid Build Coastguard Workerentry: 6882*9880d681SAndroid Build Coastguard Worker ret i8* bitcast (i32* getelementptr ([131072 x i32], [131072 x i32]* @ldst, i32 0, i64 65536) to i8*) 6883*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bam07: 6884*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $ldst+262144, %eax 6885*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6886*9880d681SAndroid Build Coastguard Worker 6887*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bam07: 6888*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $ldst+262144, %eax 6889*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6890*9880d681SAndroid Build Coastguard Worker 6891*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bam07: 6892*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $ldst+262144, %eax 6893*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6894*9880d681SAndroid Build Coastguard Worker 6895*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bam07: 6896*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst+262144(%rip), %rax 6897*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6898*9880d681SAndroid Build Coastguard Worker 6899*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bam07: 6900*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_ldst+262144, %eax 6901*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6902*9880d681SAndroid Build Coastguard Worker 6903*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bam07: 6904*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_ldst+262144, %eax 6905*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6906*9880d681SAndroid Build Coastguard Worker 6907*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bam07: 6908*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L107$pb 6909*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L107$pb: 6910*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl %eax 6911*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ldst-L107$pb)+262144([[EAX]]), %eax 6912*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6913*9880d681SAndroid Build Coastguard Worker 6914*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bam07: 6915*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst+262144(%rip), %rax 6916*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6917*9880d681SAndroid Build Coastguard Worker 6918*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bam07: 6919*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst+262144(%rip), %rax 6920*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6921*9880d681SAndroid Build Coastguard Worker 6922*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bam07: 6923*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst+262144(%rip), %rax 6924*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6925*9880d681SAndroid Build Coastguard Worker} 6926*9880d681SAndroid Build Coastguard Worker 6927*9880d681SAndroid Build Coastguard Workerdefine i8* @bam08() nounwind { 6928*9880d681SAndroid Build Coastguard Workerentry: 6929*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 6930*9880d681SAndroid Build Coastguard Worker %1 = getelementptr i32, i32* %0, i64 65536 6931*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 6932*9880d681SAndroid Build Coastguard Worker ret i8* %2 6933*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: bam08: 6934*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $262144, %eax 6935*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: addq lptr(%rip), %rax 6936*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6937*9880d681SAndroid Build Coastguard Worker 6938*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: bam08: 6939*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $262144, %eax 6940*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl lptr, %eax 6941*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 6942*9880d681SAndroid Build Coastguard Worker 6943*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: bam08: 6944*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $262144, %eax 6945*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl lptr, %eax 6946*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 6947*9880d681SAndroid Build Coastguard Worker 6948*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: bam08: 6949*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movl $262144, %eax 6950*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: addq lptr(%rip), %rax 6951*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 6952*9880d681SAndroid Build Coastguard Worker 6953*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _bam08: 6954*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $262144, %eax 6955*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl _lptr, %eax 6956*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 6957*9880d681SAndroid Build Coastguard Worker 6958*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _bam08: 6959*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $262144, %eax 6960*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl _lptr, %eax 6961*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 6962*9880d681SAndroid Build Coastguard Worker 6963*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _bam08: 6964*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L108$pb 6965*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L108$pb: 6966*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[ECX:%e.x]] 6967*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl $262144, %eax 6968*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl _lptr-L108$pb([[ECX]]), %eax 6969*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 6970*9880d681SAndroid Build Coastguard Worker 6971*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _bam08: 6972*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movl $262144, %eax 6973*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: addq _lptr(%rip), %rax 6974*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 6975*9880d681SAndroid Build Coastguard Worker 6976*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _bam08: 6977*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movl $262144, %eax 6978*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: addq _lptr(%rip), %rax 6979*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 6980*9880d681SAndroid Build Coastguard Worker 6981*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _bam08: 6982*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movl $262144, %eax 6983*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: addq _lptr(%rip), %rax 6984*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 6985*9880d681SAndroid Build Coastguard Worker} 6986*9880d681SAndroid Build Coastguard Worker 6987*9880d681SAndroid Build Coastguard Workerdefine i8* @cat00(i64 %i) nounwind { 6988*9880d681SAndroid Build Coastguard Workerentry: 6989*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 6990*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %0 6991*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 6992*9880d681SAndroid Build Coastguard Worker ret i8* %2 6993*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cat00: 6994*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq src+64(,%rdi,4), %rax 6995*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 6996*9880d681SAndroid Build Coastguard Worker 6997*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cat00: 6998*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 6999*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal src+64(,[[EAX]],4), %eax 7000*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7001*9880d681SAndroid Build Coastguard Worker 7002*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cat00: 7003*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7004*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal src+64(,[[EAX]],4), %eax 7005*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7006*9880d681SAndroid Build Coastguard Worker 7007*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cat00: 7008*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 7009*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7010*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7011*9880d681SAndroid Build Coastguard Worker 7012*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cat00: 7013*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7014*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _src+64(,[[EAX]],4), %eax 7015*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7016*9880d681SAndroid Build Coastguard Worker 7017*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cat00: 7018*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7019*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_src$non_lazy_ptr, [[ECX:%e.x]] 7020*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7021*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7022*9880d681SAndroid Build Coastguard Worker 7023*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cat00: 7024*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L109$pb 7025*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L109$pb: 7026*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7027*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7028*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L109$pb([[EAX]]), [[EAX:%e.x]] 7029*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax 7030*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7031*9880d681SAndroid Build Coastguard Worker 7032*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cat00: 7033*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 7034*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7035*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7036*9880d681SAndroid Build Coastguard Worker 7037*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cat00: 7038*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 7039*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7040*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7041*9880d681SAndroid Build Coastguard Worker 7042*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cat00: 7043*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 7044*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7045*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7046*9880d681SAndroid Build Coastguard Worker} 7047*9880d681SAndroid Build Coastguard Worker 7048*9880d681SAndroid Build Coastguard Workerdefine i8* @cxt00(i64 %i) nounwind { 7049*9880d681SAndroid Build Coastguard Workerentry: 7050*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 7051*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %0 7052*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7053*9880d681SAndroid Build Coastguard Worker ret i8* %2 7054*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cxt00: 7055*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq xsrc+64(,%rdi,4), %rax 7056*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7057*9880d681SAndroid Build Coastguard Worker 7058*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cxt00: 7059*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7060*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal xsrc+64(,[[EAX]],4), %eax 7061*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7062*9880d681SAndroid Build Coastguard Worker 7063*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cxt00: 7064*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7065*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal xsrc+64(,[[EAX]],4), %eax 7066*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7067*9880d681SAndroid Build Coastguard Worker 7068*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cxt00: 7069*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 7070*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7071*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7072*9880d681SAndroid Build Coastguard Worker 7073*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cxt00: 7074*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7075*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _xsrc+64(,[[EAX]],4), %eax 7076*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7077*9880d681SAndroid Build Coastguard Worker 7078*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cxt00: 7079*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7080*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xsrc$non_lazy_ptr, [[ECX:%e.x]] 7081*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7082*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7083*9880d681SAndroid Build Coastguard Worker 7084*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cxt00: 7085*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L110$pb 7086*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L110$pb: 7087*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7088*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7089*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L110$pb([[EAX]]), [[EAX:%e.x]] 7090*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax 7091*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7092*9880d681SAndroid Build Coastguard Worker 7093*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cxt00: 7094*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 7095*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7096*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7097*9880d681SAndroid Build Coastguard Worker 7098*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cxt00: 7099*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 7100*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7101*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7102*9880d681SAndroid Build Coastguard Worker 7103*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cxt00: 7104*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 7105*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7106*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7107*9880d681SAndroid Build Coastguard Worker} 7108*9880d681SAndroid Build Coastguard Worker 7109*9880d681SAndroid Build Coastguard Workerdefine i8* @cat01(i64 %i) nounwind { 7110*9880d681SAndroid Build Coastguard Workerentry: 7111*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 7112*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %0 7113*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7114*9880d681SAndroid Build Coastguard Worker ret i8* %2 7115*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cat01: 7116*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq dst+64(,%rdi,4), %rax 7117*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7118*9880d681SAndroid Build Coastguard Worker 7119*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cat01: 7120*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7121*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal dst+64(,[[EAX]],4), %eax 7122*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7123*9880d681SAndroid Build Coastguard Worker 7124*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cat01: 7125*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7126*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal dst+64(,[[EAX]],4), %eax 7127*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7128*9880d681SAndroid Build Coastguard Worker 7129*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cat01: 7130*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]] 7131*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7132*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7133*9880d681SAndroid Build Coastguard Worker 7134*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cat01: 7135*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7136*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _dst+64(,[[EAX]],4), %eax 7137*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7138*9880d681SAndroid Build Coastguard Worker 7139*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cat01: 7140*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7141*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_dst$non_lazy_ptr, [[ECX:%e.x]] 7142*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7143*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7144*9880d681SAndroid Build Coastguard Worker 7145*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cat01: 7146*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L111$pb 7147*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L111$pb: 7148*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7149*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7150*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L111$pb([[EAX]]), [[EAX:%e.x]] 7151*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax 7152*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7153*9880d681SAndroid Build Coastguard Worker 7154*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cat01: 7155*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 7156*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7157*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7158*9880d681SAndroid Build Coastguard Worker 7159*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cat01: 7160*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 7161*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7162*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7163*9880d681SAndroid Build Coastguard Worker 7164*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cat01: 7165*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 7166*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7167*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7168*9880d681SAndroid Build Coastguard Worker} 7169*9880d681SAndroid Build Coastguard Worker 7170*9880d681SAndroid Build Coastguard Workerdefine i8* @cxt01(i64 %i) nounwind { 7171*9880d681SAndroid Build Coastguard Workerentry: 7172*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 7173*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [32 x i32], [32 x i32]* @xdst, i64 0, i64 %0 7174*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7175*9880d681SAndroid Build Coastguard Worker ret i8* %2 7176*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cxt01: 7177*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq xdst+64(,%rdi,4), %rax 7178*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7179*9880d681SAndroid Build Coastguard Worker 7180*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cxt01: 7181*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7182*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal xdst+64(,[[EAX]],4), %eax 7183*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7184*9880d681SAndroid Build Coastguard Worker 7185*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cxt01: 7186*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7187*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal xdst+64(,[[EAX]],4), %eax 7188*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7189*9880d681SAndroid Build Coastguard Worker 7190*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cxt01: 7191*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), [[RAX:%r.x]] 7192*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7193*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7194*9880d681SAndroid Build Coastguard Worker 7195*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cxt01: 7196*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7197*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _xdst+64(,[[EAX]],4), %eax 7198*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7199*9880d681SAndroid Build Coastguard Worker 7200*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cxt01: 7201*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7202*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xdst$non_lazy_ptr, [[ECX:%e.x]] 7203*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7204*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7205*9880d681SAndroid Build Coastguard Worker 7206*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cxt01: 7207*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L112$pb 7208*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L112$pb: 7209*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7210*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7211*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L112$pb([[EAX]]), [[EAX:%e.x]] 7212*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax 7213*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7214*9880d681SAndroid Build Coastguard Worker 7215*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cxt01: 7216*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 7217*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7218*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7219*9880d681SAndroid Build Coastguard Worker 7220*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cxt01: 7221*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 7222*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7223*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7224*9880d681SAndroid Build Coastguard Worker 7225*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cxt01: 7226*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 7227*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7228*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7229*9880d681SAndroid Build Coastguard Worker} 7230*9880d681SAndroid Build Coastguard Worker 7231*9880d681SAndroid Build Coastguard Workerdefine i8* @cat02(i64 %i) nounwind { 7232*9880d681SAndroid Build Coastguard Workerentry: 7233*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 7234*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 16 7235*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 %1 7236*9880d681SAndroid Build Coastguard Worker %3 = bitcast i32* %2 to i8* 7237*9880d681SAndroid Build Coastguard Worker ret i8* %3 7238*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cat02: 7239*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), [[RAX:%r.x]] 7240*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq 64([[RAX]],%rdi,4), %rax 7241*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7242*9880d681SAndroid Build Coastguard Worker 7243*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cat02: 7244*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7245*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]] 7246*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7247*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7248*9880d681SAndroid Build Coastguard Worker 7249*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cat02: 7250*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7251*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]] 7252*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7253*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7254*9880d681SAndroid Build Coastguard Worker 7255*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cat02: 7256*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]] 7257*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 7258*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7259*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7260*9880d681SAndroid Build Coastguard Worker 7261*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cat02: 7262*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7263*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[ECX:%e.x]] 7264*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7265*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7266*9880d681SAndroid Build Coastguard Worker 7267*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cat02: 7268*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_ptr$non_lazy_ptr, [[EAX:%e.x]] 7269*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 7270*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7271*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax 7272*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7273*9880d681SAndroid Build Coastguard Worker 7274*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cat02: 7275*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L113$pb 7276*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L113$pb: 7277*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7278*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L113$pb([[EAX]]), [[EAX:%e.x]] 7279*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 7280*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7281*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax 7282*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7283*9880d681SAndroid Build Coastguard Worker 7284*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cat02: 7285*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 7286*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 7287*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7288*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7289*9880d681SAndroid Build Coastguard Worker 7290*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cat02: 7291*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 7292*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 7293*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7294*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7295*9880d681SAndroid Build Coastguard Worker 7296*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cat02: 7297*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 7298*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 7299*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7300*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7301*9880d681SAndroid Build Coastguard Worker} 7302*9880d681SAndroid Build Coastguard Worker 7303*9880d681SAndroid Build Coastguard Workerdefine i8* @cat03(i64 %i) nounwind { 7304*9880d681SAndroid Build Coastguard Workerentry: 7305*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 7306*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %0 7307*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7308*9880d681SAndroid Build Coastguard Worker ret i8* %2 7309*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cat03: 7310*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq dsrc+64(,%rdi,4), %rax 7311*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7312*9880d681SAndroid Build Coastguard Worker 7313*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cat03: 7314*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7315*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal dsrc+64(,[[EAX]],4), %eax 7316*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7317*9880d681SAndroid Build Coastguard Worker 7318*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cat03: 7319*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7320*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal dsrc+64(,[[EAX]],4), %eax 7321*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7322*9880d681SAndroid Build Coastguard Worker 7323*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cat03: 7324*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 7325*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7326*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7327*9880d681SAndroid Build Coastguard Worker 7328*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cat03: 7329*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7330*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _dsrc+64(,[[EAX]],4), %eax 7331*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7332*9880d681SAndroid Build Coastguard Worker 7333*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cat03: 7334*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7335*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _dsrc+64(,[[EAX]],4), %eax 7336*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7337*9880d681SAndroid Build Coastguard Worker 7338*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cat03: 7339*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L114$pb 7340*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L114$pb: 7341*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7342*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7343*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_dsrc-L114$pb)+64([[EAX]],[[ECX]],4), %eax 7344*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7345*9880d681SAndroid Build Coastguard Worker 7346*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cat03: 7347*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc(%rip), [[RAX:%r.x]] 7348*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7349*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7350*9880d681SAndroid Build Coastguard Worker 7351*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cat03: 7352*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc(%rip), [[RAX:%r.x]] 7353*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7354*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7355*9880d681SAndroid Build Coastguard Worker 7356*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cat03: 7357*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]] 7358*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7359*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7360*9880d681SAndroid Build Coastguard Worker} 7361*9880d681SAndroid Build Coastguard Worker 7362*9880d681SAndroid Build Coastguard Workerdefine i8* @cat04(i64 %i) nounwind { 7363*9880d681SAndroid Build Coastguard Workerentry: 7364*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 7365*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %0 7366*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7367*9880d681SAndroid Build Coastguard Worker ret i8* %2 7368*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cat04: 7369*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq ddst+64(,%rdi,4), %rax 7370*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7371*9880d681SAndroid Build Coastguard Worker 7372*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cat04: 7373*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7374*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal ddst+64(,[[EAX]],4), %eax 7375*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7376*9880d681SAndroid Build Coastguard Worker 7377*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cat04: 7378*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7379*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal ddst+64(,[[EAX]],4), %eax 7380*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7381*9880d681SAndroid Build Coastguard Worker 7382*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cat04: 7383*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]] 7384*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7385*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7386*9880d681SAndroid Build Coastguard Worker 7387*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cat04: 7388*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7389*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _ddst+64(,[[EAX]],4), %eax 7390*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7391*9880d681SAndroid Build Coastguard Worker 7392*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cat04: 7393*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7394*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _ddst+64(,[[EAX]],4), %eax 7395*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7396*9880d681SAndroid Build Coastguard Worker 7397*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cat04: 7398*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L115$pb 7399*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L115$pb: 7400*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7401*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7402*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ddst-L115$pb)+64([[EAX]],[[ECX]],4), %eax 7403*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7404*9880d681SAndroid Build Coastguard Worker 7405*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cat04: 7406*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst(%rip), [[RAX:%r.x]] 7407*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7408*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7409*9880d681SAndroid Build Coastguard Worker 7410*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cat04: 7411*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst(%rip), [[RAX:%r.x]] 7412*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7413*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7414*9880d681SAndroid Build Coastguard Worker 7415*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cat04: 7416*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]] 7417*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7418*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7419*9880d681SAndroid Build Coastguard Worker} 7420*9880d681SAndroid Build Coastguard Worker 7421*9880d681SAndroid Build Coastguard Workerdefine i8* @cat05(i64 %i) nounwind { 7422*9880d681SAndroid Build Coastguard Workerentry: 7423*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 7424*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 16 7425*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 %1 7426*9880d681SAndroid Build Coastguard Worker %3 = bitcast i32* %2 to i8* 7427*9880d681SAndroid Build Coastguard Worker ret i8* %3 7428*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cat05: 7429*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq dptr(%rip), [[RAX:%r.x]] 7430*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq 64([[RAX]],%rdi,4), %rax 7431*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7432*9880d681SAndroid Build Coastguard Worker 7433*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cat05: 7434*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7435*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dptr, [[ECX:%e.x]] 7436*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7437*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7438*9880d681SAndroid Build Coastguard Worker 7439*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cat05: 7440*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7441*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dptr, [[ECX:%e.x]] 7442*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7443*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7444*9880d681SAndroid Build Coastguard Worker 7445*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cat05: 7446*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), [[RAX:%r.x]] 7447*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 7448*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7449*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7450*9880d681SAndroid Build Coastguard Worker 7451*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cat05: 7452*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7453*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dptr, [[ECX:%e.x]] 7454*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7455*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7456*9880d681SAndroid Build Coastguard Worker 7457*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cat05: 7458*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7459*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dptr, [[ECX:%e.x]] 7460*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7461*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7462*9880d681SAndroid Build Coastguard Worker 7463*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cat05: 7464*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L116$pb 7465*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L116$pb: 7466*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7467*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7468*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dptr-L116$pb([[EAX]]), [[EAX:%e.x]] 7469*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax 7470*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7471*9880d681SAndroid Build Coastguard Worker 7472*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cat05: 7473*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dptr(%rip), [[RAX:%r.x]] 7474*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7475*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7476*9880d681SAndroid Build Coastguard Worker 7477*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cat05: 7478*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dptr(%rip), [[RAX:%r.x]] 7479*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7480*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7481*9880d681SAndroid Build Coastguard Worker 7482*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cat05: 7483*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dptr(%rip), [[RAX:%r.x]] 7484*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7485*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7486*9880d681SAndroid Build Coastguard Worker} 7487*9880d681SAndroid Build Coastguard Worker 7488*9880d681SAndroid Build Coastguard Workerdefine i8* @cat06(i64 %i) nounwind { 7489*9880d681SAndroid Build Coastguard Workerentry: 7490*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 7491*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %0 7492*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7493*9880d681SAndroid Build Coastguard Worker ret i8* %2 7494*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cat06: 7495*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq lsrc+64(,%rdi,4), %rax 7496*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7497*9880d681SAndroid Build Coastguard Worker 7498*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cat06: 7499*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7500*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal lsrc+64(,[[EAX]],4), %eax 7501*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7502*9880d681SAndroid Build Coastguard Worker 7503*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cat06: 7504*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7505*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal lsrc+64(,[[EAX]],4), %eax 7506*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7507*9880d681SAndroid Build Coastguard Worker 7508*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cat06: 7509*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]] 7510*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7511*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7512*9880d681SAndroid Build Coastguard Worker 7513*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cat06: 7514*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7515*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _lsrc+64(,[[EAX]],4), %eax 7516*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7517*9880d681SAndroid Build Coastguard Worker 7518*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cat06: 7519*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7520*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _lsrc+64(,[[EAX]],4), %eax 7521*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7522*9880d681SAndroid Build Coastguard Worker 7523*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cat06: 7524*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L117$pb 7525*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L117$pb: 7526*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7527*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7528*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_lsrc-L117$pb)+64([[EAX]],[[ECX]],4), %eax 7529*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7530*9880d681SAndroid Build Coastguard Worker 7531*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cat06: 7532*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc(%rip), [[RAX:%r.x]] 7533*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7534*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7535*9880d681SAndroid Build Coastguard Worker 7536*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cat06: 7537*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc(%rip), [[RAX:%r.x]] 7538*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7539*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7540*9880d681SAndroid Build Coastguard Worker 7541*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cat06: 7542*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]] 7543*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7544*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7545*9880d681SAndroid Build Coastguard Worker} 7546*9880d681SAndroid Build Coastguard Worker 7547*9880d681SAndroid Build Coastguard Workerdefine i8* @cat07(i64 %i) nounwind { 7548*9880d681SAndroid Build Coastguard Workerentry: 7549*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 16 7550*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %0 7551*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7552*9880d681SAndroid Build Coastguard Worker ret i8* %2 7553*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cat07: 7554*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq ldst+64(,%rdi,4), %rax 7555*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7556*9880d681SAndroid Build Coastguard Worker 7557*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cat07: 7558*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7559*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal ldst+64(,[[EAX]],4), %eax 7560*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7561*9880d681SAndroid Build Coastguard Worker 7562*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cat07: 7563*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7564*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal ldst+64(,[[EAX]],4), %eax 7565*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7566*9880d681SAndroid Build Coastguard Worker 7567*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cat07: 7568*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]] 7569*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7570*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7571*9880d681SAndroid Build Coastguard Worker 7572*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cat07: 7573*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7574*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _ldst+64(,[[EAX]],4), %eax 7575*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7576*9880d681SAndroid Build Coastguard Worker 7577*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cat07: 7578*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7579*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _ldst+64(,[[EAX]],4), %eax 7580*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7581*9880d681SAndroid Build Coastguard Worker 7582*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cat07: 7583*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L118$pb 7584*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L118$pb: 7585*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7586*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7587*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ldst-L118$pb)+64([[EAX]],[[ECX]],4), %eax 7588*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7589*9880d681SAndroid Build Coastguard Worker 7590*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cat07: 7591*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst(%rip), [[RAX:%r.x]] 7592*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7593*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7594*9880d681SAndroid Build Coastguard Worker 7595*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cat07: 7596*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst(%rip), [[RAX:%r.x]] 7597*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7598*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7599*9880d681SAndroid Build Coastguard Worker 7600*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cat07: 7601*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]] 7602*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7603*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7604*9880d681SAndroid Build Coastguard Worker} 7605*9880d681SAndroid Build Coastguard Worker 7606*9880d681SAndroid Build Coastguard Workerdefine i8* @cat08(i64 %i) nounwind { 7607*9880d681SAndroid Build Coastguard Workerentry: 7608*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 7609*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 16 7610*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 %1 7611*9880d681SAndroid Build Coastguard Worker %3 = bitcast i32* %2 to i8* 7612*9880d681SAndroid Build Coastguard Worker ret i8* %3 7613*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cat08: 7614*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq lptr(%rip), [[RAX:%r.x]] 7615*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq 64([[RAX]],%rdi,4), %rax 7616*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7617*9880d681SAndroid Build Coastguard Worker 7618*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cat08: 7619*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7620*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lptr, [[ECX:%e.x]] 7621*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7622*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7623*9880d681SAndroid Build Coastguard Worker 7624*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cat08: 7625*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7626*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lptr, [[ECX:%e.x]] 7627*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7628*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7629*9880d681SAndroid Build Coastguard Worker 7630*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cat08: 7631*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq lptr(%rip), [[RAX:%r.x]] 7632*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7633*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7634*9880d681SAndroid Build Coastguard Worker 7635*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cat08: 7636*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7637*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lptr, [[ECX:%e.x]] 7638*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7639*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7640*9880d681SAndroid Build Coastguard Worker 7641*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cat08: 7642*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7643*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lptr, [[ECX:%e.x]] 7644*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 64([[ECX]],[[EAX]],4), %eax 7645*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7646*9880d681SAndroid Build Coastguard Worker 7647*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cat08: 7648*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L119$pb 7649*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L119$pb: 7650*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7651*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7652*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lptr-L119$pb([[EAX]]), [[EAX:%e.x]] 7653*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 64([[EAX]],[[ECX]],4), %eax 7654*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7655*9880d681SAndroid Build Coastguard Worker 7656*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cat08: 7657*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _lptr(%rip), [[RAX:%r.x]] 7658*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7659*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7660*9880d681SAndroid Build Coastguard Worker 7661*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cat08: 7662*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _lptr(%rip), [[RAX:%r.x]] 7663*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7664*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7665*9880d681SAndroid Build Coastguard Worker 7666*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cat08: 7667*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _lptr(%rip), [[RAX:%r.x]] 7668*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 64([[RAX]],%rdi,4), %rax 7669*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7670*9880d681SAndroid Build Coastguard Worker} 7671*9880d681SAndroid Build Coastguard Worker 7672*9880d681SAndroid Build Coastguard Workerdefine i8* @cam00(i64 %i) nounwind { 7673*9880d681SAndroid Build Coastguard Workerentry: 7674*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 7675*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @src, i64 0, i64 %0 7676*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7677*9880d681SAndroid Build Coastguard Worker ret i8* %2 7678*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cam00: 7679*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq src+262144(,%rdi,4), %rax 7680*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7681*9880d681SAndroid Build Coastguard Worker 7682*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cam00: 7683*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7684*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal src+262144(,[[EAX]],4), %eax 7685*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7686*9880d681SAndroid Build Coastguard Worker 7687*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cam00: 7688*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7689*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal src+262144(,[[EAX]],4), %eax 7690*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7691*9880d681SAndroid Build Coastguard Worker 7692*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cam00: 7693*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq src@GOTPCREL(%rip), [[RAX:%r.x]] 7694*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7695*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7696*9880d681SAndroid Build Coastguard Worker 7697*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cam00: 7698*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7699*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _src+262144(,[[EAX]],4), %eax 7700*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7701*9880d681SAndroid Build Coastguard Worker 7702*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cam00: 7703*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7704*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_src$non_lazy_ptr, [[ECX:%e.x]] 7705*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 7706*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7707*9880d681SAndroid Build Coastguard Worker 7708*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cam00: 7709*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L120$pb 7710*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L120$pb: 7711*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7712*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7713*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_src$non_lazy_ptr-L120$pb([[EAX]]), [[EAX:%e.x]] 7714*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax 7715*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7716*9880d681SAndroid Build Coastguard Worker 7717*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cam00: 7718*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 7719*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7720*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7721*9880d681SAndroid Build Coastguard Worker 7722*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cam00: 7723*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 7724*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7725*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7726*9880d681SAndroid Build Coastguard Worker 7727*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cam00: 7728*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _src@GOTPCREL(%rip), [[RAX:%r.x]] 7729*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7730*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7731*9880d681SAndroid Build Coastguard Worker} 7732*9880d681SAndroid Build Coastguard Worker 7733*9880d681SAndroid Build Coastguard Workerdefine i8* @cxm00(i64 %i) nounwind { 7734*9880d681SAndroid Build Coastguard Workerentry: 7735*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 7736*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [32 x i32], [32 x i32]* @xsrc, i64 0, i64 %0 7737*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7738*9880d681SAndroid Build Coastguard Worker ret i8* %2 7739*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cxm00: 7740*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq xsrc+262144(,%rdi,4), %rax 7741*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7742*9880d681SAndroid Build Coastguard Worker 7743*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cxm00: 7744*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7745*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal xsrc+262144(,[[EAX]],4), %eax 7746*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7747*9880d681SAndroid Build Coastguard Worker 7748*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cxm00: 7749*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7750*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal xsrc+262144(,[[EAX]],4), %eax 7751*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7752*9880d681SAndroid Build Coastguard Worker 7753*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cxm00: 7754*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 7755*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7756*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7757*9880d681SAndroid Build Coastguard Worker 7758*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cxm00: 7759*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7760*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _xsrc+262144(,[[EAX]],4), %eax 7761*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7762*9880d681SAndroid Build Coastguard Worker 7763*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cxm00: 7764*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7765*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xsrc$non_lazy_ptr, [[ECX:%e.x]] 7766*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 7767*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7768*9880d681SAndroid Build Coastguard Worker 7769*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cxm00: 7770*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L121$pb 7771*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L121$pb: 7772*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7773*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7774*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xsrc$non_lazy_ptr-L121$pb([[EAX]]), [[EAX:%e.x]] 7775*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax 7776*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7777*9880d681SAndroid Build Coastguard Worker 7778*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cxm00: 7779*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 7780*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7781*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7782*9880d681SAndroid Build Coastguard Worker 7783*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cxm00: 7784*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 7785*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7786*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7787*9880d681SAndroid Build Coastguard Worker 7788*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cxm00: 7789*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xsrc@GOTPCREL(%rip), [[RAX:%r.x]] 7790*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7791*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7792*9880d681SAndroid Build Coastguard Worker} 7793*9880d681SAndroid Build Coastguard Worker 7794*9880d681SAndroid Build Coastguard Workerdefine i8* @cam01(i64 %i) nounwind { 7795*9880d681SAndroid Build Coastguard Workerentry: 7796*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 7797*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @dst, i64 0, i64 %0 7798*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7799*9880d681SAndroid Build Coastguard Worker ret i8* %2 7800*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cam01: 7801*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq dst+262144(,%rdi,4), %rax 7802*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7803*9880d681SAndroid Build Coastguard Worker 7804*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cam01: 7805*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7806*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal dst+262144(,[[EAX]],4), %eax 7807*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7808*9880d681SAndroid Build Coastguard Worker 7809*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cam01: 7810*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7811*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal dst+262144(,[[EAX]],4), %eax 7812*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7813*9880d681SAndroid Build Coastguard Worker 7814*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cam01: 7815*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dst@GOTPCREL(%rip), [[RAX:%r.x]] 7816*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7817*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7818*9880d681SAndroid Build Coastguard Worker 7819*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cam01: 7820*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7821*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _dst+262144(,[[EAX]],4), %eax 7822*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7823*9880d681SAndroid Build Coastguard Worker 7824*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cam01: 7825*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7826*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_dst$non_lazy_ptr, [[ECX:%e.x]] 7827*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 7828*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7829*9880d681SAndroid Build Coastguard Worker 7830*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cam01: 7831*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L122$pb 7832*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L122$pb: 7833*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7834*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7835*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_dst$non_lazy_ptr-L122$pb([[EAX]]), [[EAX:%e.x]] 7836*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax 7837*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7838*9880d681SAndroid Build Coastguard Worker 7839*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cam01: 7840*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 7841*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7842*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7843*9880d681SAndroid Build Coastguard Worker 7844*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cam01: 7845*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 7846*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7847*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7848*9880d681SAndroid Build Coastguard Worker 7849*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cam01: 7850*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dst@GOTPCREL(%rip), [[RAX:%r.x]] 7851*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7852*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7853*9880d681SAndroid Build Coastguard Worker} 7854*9880d681SAndroid Build Coastguard Worker 7855*9880d681SAndroid Build Coastguard Workerdefine i8* @cxm01(i64 %i) nounwind { 7856*9880d681SAndroid Build Coastguard Workerentry: 7857*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 7858*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [32 x i32], [32 x i32]* @xdst, i64 0, i64 %0 7859*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7860*9880d681SAndroid Build Coastguard Worker ret i8* %2 7861*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cxm01: 7862*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq xdst+262144(,%rdi,4), %rax 7863*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7864*9880d681SAndroid Build Coastguard Worker 7865*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cxm01: 7866*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), %eax 7867*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal xdst+262144(,[[EAX]],4), %eax 7868*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7869*9880d681SAndroid Build Coastguard Worker 7870*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cxm01: 7871*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7872*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal xdst+262144(,[[EAX]],4), %eax 7873*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7874*9880d681SAndroid Build Coastguard Worker 7875*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cxm01: 7876*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq xdst@GOTPCREL(%rip), [[RAX:%r.x]] 7877*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7878*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7879*9880d681SAndroid Build Coastguard Worker 7880*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cxm01: 7881*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7882*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _xdst+262144(,[[EAX]],4), %eax 7883*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7884*9880d681SAndroid Build Coastguard Worker 7885*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cxm01: 7886*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 7887*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_xdst$non_lazy_ptr, [[ECX:%e.x]] 7888*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 7889*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7890*9880d681SAndroid Build Coastguard Worker 7891*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cxm01: 7892*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L123$pb 7893*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L123$pb: 7894*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7895*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7896*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_xdst$non_lazy_ptr-L123$pb([[EAX]]), [[EAX:%e.x]] 7897*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax 7898*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7899*9880d681SAndroid Build Coastguard Worker 7900*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cxm01: 7901*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 7902*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7903*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7904*9880d681SAndroid Build Coastguard Worker 7905*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cxm01: 7906*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 7907*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7908*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7909*9880d681SAndroid Build Coastguard Worker 7910*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cxm01: 7911*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _xdst@GOTPCREL(%rip), [[RAX:%r.x]] 7912*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7913*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7914*9880d681SAndroid Build Coastguard Worker} 7915*9880d681SAndroid Build Coastguard Worker 7916*9880d681SAndroid Build Coastguard Workerdefine i8* @cam02(i64 %i) nounwind { 7917*9880d681SAndroid Build Coastguard Workerentry: 7918*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @ptr, align 8 7919*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 65536 7920*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 %1 7921*9880d681SAndroid Build Coastguard Worker %3 = bitcast i32* %2 to i8* 7922*9880d681SAndroid Build Coastguard Worker ret i8* %3 7923*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cam02: 7924*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq ptr(%rip), [[RAX:%r.x]] 7925*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq 262144([[RAX]],%rdi,4), %rax 7926*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7927*9880d681SAndroid Build Coastguard Worker 7928*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cam02: 7929*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7930*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl ptr, [[ECX:%e.x]] 7931*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 7932*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 7933*9880d681SAndroid Build Coastguard Worker 7934*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cam02: 7935*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 7936*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl ptr, [[ECX:%e.x]] 7937*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 7938*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 7939*9880d681SAndroid Build Coastguard Worker 7940*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cam02: 7941*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ptr@GOTPCREL(%rip), [[RAX:%r.x]] 7942*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 7943*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7944*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 7945*9880d681SAndroid Build Coastguard Worker 7946*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cam02: 7947*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 7948*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _ptr, [[ECX:%e.x]] 7949*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 7950*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 7951*9880d681SAndroid Build Coastguard Worker 7952*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cam02: 7953*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_ptr$non_lazy_ptr, [[EAX:%e.x]] 7954*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 7955*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7956*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax 7957*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 7958*9880d681SAndroid Build Coastguard Worker 7959*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cam02: 7960*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L124$pb 7961*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L124$pb: 7962*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 7963*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ptr$non_lazy_ptr-L124$pb([[EAX]]), [[EAX:%e.x]] 7964*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl ([[EAX]]), [[EAX:%e.x]] 7965*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 7966*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax 7967*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 7968*9880d681SAndroid Build Coastguard Worker 7969*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cam02: 7970*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 7971*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 7972*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7973*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 7974*9880d681SAndroid Build Coastguard Worker 7975*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cam02: 7976*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 7977*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 7978*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7979*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 7980*9880d681SAndroid Build Coastguard Worker 7981*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cam02: 7982*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _ptr@GOTPCREL(%rip), [[RAX:%r.x]] 7983*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 7984*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 7985*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 7986*9880d681SAndroid Build Coastguard Worker} 7987*9880d681SAndroid Build Coastguard Worker 7988*9880d681SAndroid Build Coastguard Workerdefine i8* @cam03(i64 %i) nounwind { 7989*9880d681SAndroid Build Coastguard Workerentry: 7990*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 7991*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @dsrc, i64 0, i64 %0 7992*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 7993*9880d681SAndroid Build Coastguard Worker ret i8* %2 7994*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cam03: 7995*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq dsrc+262144(,%rdi,4), %rax 7996*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 7997*9880d681SAndroid Build Coastguard Worker 7998*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cam03: 7999*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8000*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal dsrc+262144(,[[EAX]],4), %eax 8001*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8002*9880d681SAndroid Build Coastguard Worker 8003*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cam03: 8004*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 8005*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal dsrc+262144(,[[EAX]],4), %eax 8006*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8007*9880d681SAndroid Build Coastguard Worker 8008*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cam03: 8009*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dsrc@GOTPCREL(%rip), [[RAX:%r.x]] 8010*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8011*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8012*9880d681SAndroid Build Coastguard Worker 8013*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cam03: 8014*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8015*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _dsrc+262144(,[[EAX]],4), %eax 8016*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8017*9880d681SAndroid Build Coastguard Worker 8018*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cam03: 8019*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 8020*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _dsrc+262144(,[[EAX]],4), %eax 8021*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8022*9880d681SAndroid Build Coastguard Worker 8023*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cam03: 8024*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L125$pb 8025*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L125$pb: 8026*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 8027*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 8028*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_dsrc-L125$pb)+262144([[EAX]],[[ECX]],4), %eax 8029*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8030*9880d681SAndroid Build Coastguard Worker 8031*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cam03: 8032*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dsrc(%rip), [[RAX:%r.x]] 8033*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8034*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8035*9880d681SAndroid Build Coastguard Worker 8036*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cam03: 8037*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dsrc(%rip), [[RAX:%r.x]] 8038*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8039*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8040*9880d681SAndroid Build Coastguard Worker 8041*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cam03: 8042*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dsrc(%rip), [[RAX:%r.x]] 8043*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8044*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8045*9880d681SAndroid Build Coastguard Worker} 8046*9880d681SAndroid Build Coastguard Worker 8047*9880d681SAndroid Build Coastguard Workerdefine i8* @cam04(i64 %i) nounwind { 8048*9880d681SAndroid Build Coastguard Workerentry: 8049*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 8050*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @ddst, i64 0, i64 %0 8051*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 8052*9880d681SAndroid Build Coastguard Worker ret i8* %2 8053*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cam04: 8054*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq ddst+262144(,%rdi,4), %rax 8055*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8056*9880d681SAndroid Build Coastguard Worker 8057*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cam04: 8058*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8059*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal ddst+262144(,[[EAX]],4), %eax 8060*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8061*9880d681SAndroid Build Coastguard Worker 8062*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cam04: 8063*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 8064*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal ddst+262144(,[[EAX]],4), %eax 8065*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8066*9880d681SAndroid Build Coastguard Worker 8067*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cam04: 8068*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq ddst@GOTPCREL(%rip), [[RAX:%r.x]] 8069*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8070*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8071*9880d681SAndroid Build Coastguard Worker 8072*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cam04: 8073*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8074*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _ddst+262144(,[[EAX]],4), %eax 8075*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8076*9880d681SAndroid Build Coastguard Worker 8077*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cam04: 8078*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 8079*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _ddst+262144(,[[EAX]],4), %eax 8080*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8081*9880d681SAndroid Build Coastguard Worker 8082*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cam04: 8083*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L126$pb 8084*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L126$pb: 8085*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 8086*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 8087*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ddst-L126$pb)+262144([[EAX]],[[ECX]],4), %eax 8088*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8089*9880d681SAndroid Build Coastguard Worker 8090*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cam04: 8091*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ddst(%rip), [[RAX:%r.x]] 8092*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8093*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8094*9880d681SAndroid Build Coastguard Worker 8095*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cam04: 8096*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ddst(%rip), [[RAX:%r.x]] 8097*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8098*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8099*9880d681SAndroid Build Coastguard Worker 8100*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cam04: 8101*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ddst(%rip), [[RAX:%r.x]] 8102*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8103*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8104*9880d681SAndroid Build Coastguard Worker} 8105*9880d681SAndroid Build Coastguard Worker 8106*9880d681SAndroid Build Coastguard Workerdefine i8* @cam05(i64 %i) nounwind { 8107*9880d681SAndroid Build Coastguard Workerentry: 8108*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @dptr, align 8 8109*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 65536 8110*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 %1 8111*9880d681SAndroid Build Coastguard Worker %3 = bitcast i32* %2 to i8* 8112*9880d681SAndroid Build Coastguard Worker ret i8* %3 8113*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cam05: 8114*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq dptr(%rip), [[RAX:%r.x]] 8115*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq 262144([[RAX]],%rdi,4), %rax 8116*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8117*9880d681SAndroid Build Coastguard Worker 8118*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cam05: 8119*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8120*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl dptr, [[ECX:%e.x]] 8121*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 8122*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8123*9880d681SAndroid Build Coastguard Worker 8124*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cam05: 8125*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 8126*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl dptr, [[ECX:%e.x]] 8127*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 8128*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8129*9880d681SAndroid Build Coastguard Worker 8130*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cam05: 8131*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq dptr@GOTPCREL(%rip), [[RAX:%r.x]] 8132*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ([[RAX]]), [[RAX:%r.x]] 8133*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8134*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8135*9880d681SAndroid Build Coastguard Worker 8136*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cam05: 8137*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8138*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _dptr, [[ECX:%e.x]] 8139*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 8140*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8141*9880d681SAndroid Build Coastguard Worker 8142*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cam05: 8143*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 8144*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _dptr, [[ECX:%e.x]] 8145*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 8146*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8147*9880d681SAndroid Build Coastguard Worker 8148*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cam05: 8149*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L127$pb 8150*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L127$pb: 8151*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 8152*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 8153*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _dptr-L127$pb([[EAX]]), [[EAX:%e.x]] 8154*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax 8155*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8156*9880d681SAndroid Build Coastguard Worker 8157*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cam05: 8158*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _dptr(%rip), [[RAX:%r.x]] 8159*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8160*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8161*9880d681SAndroid Build Coastguard Worker 8162*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cam05: 8163*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _dptr(%rip), [[RAX:%r.x]] 8164*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8165*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8166*9880d681SAndroid Build Coastguard Worker 8167*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cam05: 8168*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _dptr(%rip), [[RAX:%r.x]] 8169*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8170*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8171*9880d681SAndroid Build Coastguard Worker} 8172*9880d681SAndroid Build Coastguard Worker 8173*9880d681SAndroid Build Coastguard Workerdefine i8* @cam06(i64 %i) nounwind { 8174*9880d681SAndroid Build Coastguard Workerentry: 8175*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 8176*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @lsrc, i64 0, i64 %0 8177*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 8178*9880d681SAndroid Build Coastguard Worker ret i8* %2 8179*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cam06: 8180*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq lsrc+262144(,%rdi,4), %rax 8181*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8182*9880d681SAndroid Build Coastguard Worker 8183*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cam06: 8184*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8185*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal lsrc+262144(,[[EAX]],4), %eax 8186*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8187*9880d681SAndroid Build Coastguard Worker 8188*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cam06: 8189*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 8190*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal lsrc+262144(,[[EAX]],4), %eax 8191*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8192*9880d681SAndroid Build Coastguard Worker 8193*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cam06: 8194*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq lsrc(%rip), [[RAX:%r.x]] 8195*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8196*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8197*9880d681SAndroid Build Coastguard Worker 8198*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cam06: 8199*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8200*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _lsrc+262144(,[[EAX]],4), %eax 8201*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8202*9880d681SAndroid Build Coastguard Worker 8203*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cam06: 8204*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 8205*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _lsrc+262144(,[[EAX]],4), %eax 8206*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8207*9880d681SAndroid Build Coastguard Worker 8208*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cam06: 8209*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L128$pb 8210*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L128$pb: 8211*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 8212*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 8213*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_lsrc-L128$pb)+262144([[EAX]],[[ECX]],4), %eax 8214*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8215*9880d681SAndroid Build Coastguard Worker 8216*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cam06: 8217*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lsrc(%rip), [[RAX:%r.x]] 8218*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8219*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8220*9880d681SAndroid Build Coastguard Worker 8221*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cam06: 8222*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lsrc(%rip), [[RAX:%r.x]] 8223*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8224*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8225*9880d681SAndroid Build Coastguard Worker 8226*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cam06: 8227*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lsrc(%rip), [[RAX:%r.x]] 8228*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8229*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8230*9880d681SAndroid Build Coastguard Worker} 8231*9880d681SAndroid Build Coastguard Worker 8232*9880d681SAndroid Build Coastguard Workerdefine i8* @cam07(i64 %i) nounwind { 8233*9880d681SAndroid Build Coastguard Workerentry: 8234*9880d681SAndroid Build Coastguard Worker %0 = add i64 %i, 65536 8235*9880d681SAndroid Build Coastguard Worker %1 = getelementptr [131072 x i32], [131072 x i32]* @ldst, i64 0, i64 %0 8236*9880d681SAndroid Build Coastguard Worker %2 = bitcast i32* %1 to i8* 8237*9880d681SAndroid Build Coastguard Worker ret i8* %2 8238*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cam07: 8239*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq ldst+262144(,%rdi,4), %rax 8240*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8241*9880d681SAndroid Build Coastguard Worker 8242*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cam07: 8243*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8244*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal ldst+262144(,[[EAX]],4), %eax 8245*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8246*9880d681SAndroid Build Coastguard Worker 8247*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cam07: 8248*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 8249*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal ldst+262144(,[[EAX]],4), %eax 8250*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8251*9880d681SAndroid Build Coastguard Worker 8252*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cam07: 8253*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq ldst(%rip), [[RAX:%r.x]] 8254*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8255*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8256*9880d681SAndroid Build Coastguard Worker 8257*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cam07: 8258*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8259*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal _ldst+262144(,[[EAX]],4), %eax 8260*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8261*9880d681SAndroid Build Coastguard Worker 8262*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cam07: 8263*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 8264*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal _ldst+262144(,[[EAX]],4), %eax 8265*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8266*9880d681SAndroid Build Coastguard Worker 8267*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cam07: 8268*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L129$pb 8269*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L129$pb: 8270*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 8271*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 8272*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal (_ldst-L129$pb)+262144([[EAX]],[[ECX]],4), %eax 8273*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8274*9880d681SAndroid Build Coastguard Worker 8275*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cam07: 8276*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _ldst(%rip), [[RAX:%r.x]] 8277*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8278*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8279*9880d681SAndroid Build Coastguard Worker 8280*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cam07: 8281*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _ldst(%rip), [[RAX:%r.x]] 8282*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8283*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8284*9880d681SAndroid Build Coastguard Worker 8285*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cam07: 8286*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _ldst(%rip), [[RAX:%r.x]] 8287*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8288*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8289*9880d681SAndroid Build Coastguard Worker} 8290*9880d681SAndroid Build Coastguard Worker 8291*9880d681SAndroid Build Coastguard Workerdefine i8* @cam08(i64 %i) nounwind { 8292*9880d681SAndroid Build Coastguard Workerentry: 8293*9880d681SAndroid Build Coastguard Worker %0 = load i32*, i32** @lptr, align 8 8294*9880d681SAndroid Build Coastguard Worker %1 = add i64 %i, 65536 8295*9880d681SAndroid Build Coastguard Worker %2 = getelementptr i32, i32* %0, i64 %1 8296*9880d681SAndroid Build Coastguard Worker %3 = bitcast i32* %2 to i8* 8297*9880d681SAndroid Build Coastguard Worker ret i8* %3 8298*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: cam08: 8299*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movq lptr(%rip), [[RAX:%r.x]] 8300*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: leaq 262144([[RAX]],%rdi,4), %rax 8301*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8302*9880d681SAndroid Build Coastguard Worker 8303*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: cam08: 8304*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8305*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: movl lptr, [[ECX:%e.x]] 8306*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 8307*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8308*9880d681SAndroid Build Coastguard Worker 8309*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: cam08: 8310*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl 4(%esp), [[EAX:%e.x]] 8311*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: movl lptr, [[ECX:%e.x]] 8312*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 8313*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8314*9880d681SAndroid Build Coastguard Worker 8315*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: cam08: 8316*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq lptr(%rip), [[RAX:%r.x]] 8317*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8318*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8319*9880d681SAndroid Build Coastguard Worker 8320*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _cam08: 8321*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl 4(%esp), [[EAX:%e.x]] 8322*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: movl _lptr, [[ECX:%e.x]] 8323*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 8324*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8325*9880d681SAndroid Build Coastguard Worker 8326*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _cam08: 8327*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl 4(%esp), [[EAX:%e.x]] 8328*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl _lptr, [[ECX:%e.x]] 8329*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: leal 262144([[ECX]],[[EAX]],4), %eax 8330*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8331*9880d681SAndroid Build Coastguard Worker 8332*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _cam08: 8333*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L130$pb 8334*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L130$pb: 8335*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 8336*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl 4(%esp), [[ECX:%e.x]] 8337*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl _lptr-L130$pb([[EAX]]), [[EAX:%e.x]] 8338*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal 262144([[EAX]],[[ECX]],4), %eax 8339*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8340*9880d681SAndroid Build Coastguard Worker 8341*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _cam08: 8342*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _lptr(%rip), [[RAX:%r.x]] 8343*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8344*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8345*9880d681SAndroid Build Coastguard Worker 8346*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _cam08: 8347*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _lptr(%rip), [[RAX:%r.x]] 8348*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8349*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8350*9880d681SAndroid Build Coastguard Worker 8351*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _cam08: 8352*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _lptr(%rip), [[RAX:%r.x]] 8353*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: leaq 262144([[RAX]],%rdi,4), %rax 8354*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8355*9880d681SAndroid Build Coastguard Worker} 8356*9880d681SAndroid Build Coastguard Worker 8357*9880d681SAndroid Build Coastguard Workerdefine void @lcallee() nounwind { 8358*9880d681SAndroid Build Coastguard Workerentry: 8359*9880d681SAndroid Build Coastguard Worker call void @x() nounwind 8360*9880d681SAndroid Build Coastguard Worker call void @x() nounwind 8361*9880d681SAndroid Build Coastguard Worker call void @x() nounwind 8362*9880d681SAndroid Build Coastguard Worker call void @x() nounwind 8363*9880d681SAndroid Build Coastguard Worker call void @x() nounwind 8364*9880d681SAndroid Build Coastguard Worker call void @x() nounwind 8365*9880d681SAndroid Build Coastguard Worker call void @x() nounwind 8366*9880d681SAndroid Build Coastguard Worker ret void 8367*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: lcallee: 8368*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq x 8369*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq x 8370*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq x 8371*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq x 8372*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq x 8373*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq x 8374*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq x 8375*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8376*9880d681SAndroid Build Coastguard Worker 8377*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: lcallee: 8378*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 8379*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll x 8380*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll x 8381*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll x 8382*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll x 8383*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll x 8384*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll x 8385*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll x 8386*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 8387*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8388*9880d681SAndroid Build Coastguard Worker 8389*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: lcallee: 8390*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 8391*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll x 8392*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll x 8393*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll x 8394*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll x 8395*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll x 8396*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll x 8397*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll x 8398*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 8399*9880d681SAndroid Build Coastguard Worker 8400*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8401*9880d681SAndroid Build Coastguard Worker 8402*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: lcallee: 8403*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 8404*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq x@PLT 8405*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq x@PLT 8406*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq x@PLT 8407*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq x@PLT 8408*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq x@PLT 8409*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq x@PLT 8410*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq x@PLT 8411*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 8412*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8413*9880d681SAndroid Build Coastguard Worker 8414*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _lcallee: 8415*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 8416*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _x 8417*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _x 8418*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _x 8419*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _x 8420*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _x 8421*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _x 8422*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _x 8423*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 8424*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8425*9880d681SAndroid Build Coastguard Worker 8426*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _lcallee: 8427*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 8428*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _x 8429*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _x 8430*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _x 8431*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _x 8432*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _x 8433*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _x 8434*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _x 8435*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 8436*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8437*9880d681SAndroid Build Coastguard Worker 8438*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _lcallee: 8439*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: subl $12, %esp 8440*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _x 8441*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _x 8442*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _x 8443*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _x 8444*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _x 8445*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _x 8446*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _x 8447*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $12, %esp 8448*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8449*9880d681SAndroid Build Coastguard Worker 8450*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _lcallee: 8451*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 8452*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _x 8453*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _x 8454*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _x 8455*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _x 8456*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _x 8457*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _x 8458*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _x 8459*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 8460*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8461*9880d681SAndroid Build Coastguard Worker 8462*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _lcallee: 8463*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 8464*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _x 8465*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _x 8466*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _x 8467*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _x 8468*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _x 8469*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _x 8470*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _x 8471*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 8472*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8473*9880d681SAndroid Build Coastguard Worker 8474*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _lcallee: 8475*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 8476*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _x 8477*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _x 8478*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _x 8479*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _x 8480*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _x 8481*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _x 8482*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _x 8483*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 8484*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8485*9880d681SAndroid Build Coastguard Worker} 8486*9880d681SAndroid Build Coastguard Worker 8487*9880d681SAndroid Build Coastguard Workerdeclare void @x() 8488*9880d681SAndroid Build Coastguard Worker 8489*9880d681SAndroid Build Coastguard Workerdefine internal void @dcallee() nounwind { 8490*9880d681SAndroid Build Coastguard Workerentry: 8491*9880d681SAndroid Build Coastguard Worker call void @y() nounwind 8492*9880d681SAndroid Build Coastguard Worker call void @y() nounwind 8493*9880d681SAndroid Build Coastguard Worker call void @y() nounwind 8494*9880d681SAndroid Build Coastguard Worker call void @y() nounwind 8495*9880d681SAndroid Build Coastguard Worker call void @y() nounwind 8496*9880d681SAndroid Build Coastguard Worker call void @y() nounwind 8497*9880d681SAndroid Build Coastguard Worker call void @y() nounwind 8498*9880d681SAndroid Build Coastguard Worker ret void 8499*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: dcallee: 8500*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq y 8501*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq y 8502*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq y 8503*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq y 8504*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq y 8505*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq y 8506*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq y 8507*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8508*9880d681SAndroid Build Coastguard Worker 8509*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: dcallee: 8510*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 8511*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll y 8512*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll y 8513*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll y 8514*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll y 8515*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll y 8516*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll y 8517*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll y 8518*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 8519*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8520*9880d681SAndroid Build Coastguard Worker 8521*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: dcallee: 8522*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 8523*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll y 8524*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll y 8525*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll y 8526*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll y 8527*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll y 8528*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll y 8529*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll y 8530*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 8531*9880d681SAndroid Build Coastguard Worker 8532*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8533*9880d681SAndroid Build Coastguard Worker 8534*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: dcallee: 8535*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 8536*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq y@PLT 8537*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq y@PLT 8538*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq y@PLT 8539*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq y@PLT 8540*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq y@PLT 8541*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq y@PLT 8542*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq y@PLT 8543*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 8544*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8545*9880d681SAndroid Build Coastguard Worker 8546*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _dcallee: 8547*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 8548*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _y 8549*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _y 8550*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _y 8551*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _y 8552*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _y 8553*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _y 8554*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _y 8555*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 8556*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8557*9880d681SAndroid Build Coastguard Worker 8558*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _dcallee: 8559*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 8560*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _y 8561*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _y 8562*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _y 8563*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _y 8564*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _y 8565*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _y 8566*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _y 8567*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 8568*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8569*9880d681SAndroid Build Coastguard Worker 8570*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _dcallee: 8571*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: subl $12, %esp 8572*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _y 8573*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _y 8574*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _y 8575*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _y 8576*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _y 8577*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _y 8578*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _y 8579*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $12, %esp 8580*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8581*9880d681SAndroid Build Coastguard Worker 8582*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _dcallee: 8583*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 8584*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _y 8585*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _y 8586*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _y 8587*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _y 8588*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _y 8589*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _y 8590*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _y 8591*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 8592*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8593*9880d681SAndroid Build Coastguard Worker 8594*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _dcallee: 8595*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 8596*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _y 8597*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _y 8598*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _y 8599*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _y 8600*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _y 8601*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _y 8602*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _y 8603*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 8604*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8605*9880d681SAndroid Build Coastguard Worker 8606*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _dcallee: 8607*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 8608*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _y 8609*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _y 8610*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _y 8611*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _y 8612*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _y 8613*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _y 8614*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _y 8615*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 8616*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8617*9880d681SAndroid Build Coastguard Worker} 8618*9880d681SAndroid Build Coastguard Worker 8619*9880d681SAndroid Build Coastguard Workerdeclare void @y() 8620*9880d681SAndroid Build Coastguard Worker 8621*9880d681SAndroid Build Coastguard Workerdefine void ()* @address() nounwind { 8622*9880d681SAndroid Build Coastguard Workerentry: 8623*9880d681SAndroid Build Coastguard Worker ret void ()* @callee 8624*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: address: 8625*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $callee, %eax 8626*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8627*9880d681SAndroid Build Coastguard Worker 8628*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: address: 8629*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $callee, %eax 8630*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8631*9880d681SAndroid Build Coastguard Worker 8632*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: address: 8633*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $callee, %eax 8634*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8635*9880d681SAndroid Build Coastguard Worker 8636*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: address: 8637*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq callee@GOTPCREL(%rip), %rax 8638*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8639*9880d681SAndroid Build Coastguard Worker 8640*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _address: 8641*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_callee, %eax 8642*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8643*9880d681SAndroid Build Coastguard Worker 8644*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _address: 8645*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl L_callee$non_lazy_ptr, %eax 8646*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8647*9880d681SAndroid Build Coastguard Worker 8648*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _address: 8649*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L133$pb 8650*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L133$pb: 8651*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 8652*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_callee$non_lazy_ptr-L133$pb([[EAX]]), %eax 8653*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8654*9880d681SAndroid Build Coastguard Worker 8655*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _address: 8656*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: movq _callee@GOTPCREL(%rip), %rax 8657*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8658*9880d681SAndroid Build Coastguard Worker 8659*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _address: 8660*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: movq _callee@GOTPCREL(%rip), %rax 8661*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8662*9880d681SAndroid Build Coastguard Worker 8663*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _address: 8664*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: movq _callee@GOTPCREL(%rip), %rax 8665*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8666*9880d681SAndroid Build Coastguard Worker} 8667*9880d681SAndroid Build Coastguard Worker 8668*9880d681SAndroid Build Coastguard Workerdeclare void @callee() 8669*9880d681SAndroid Build Coastguard Worker 8670*9880d681SAndroid Build Coastguard Workerdefine void ()* @laddress() nounwind { 8671*9880d681SAndroid Build Coastguard Workerentry: 8672*9880d681SAndroid Build Coastguard Worker ret void ()* @lcallee 8673*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: laddress: 8674*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $lcallee, %eax 8675*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8676*9880d681SAndroid Build Coastguard Worker 8677*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: laddress: 8678*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $lcallee, %eax 8679*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8680*9880d681SAndroid Build Coastguard Worker 8681*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: laddress: 8682*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $lcallee, %eax 8683*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8684*9880d681SAndroid Build Coastguard Worker 8685*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: laddress: 8686*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: movq lcallee@GOTPCREL(%rip), %rax 8687*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8688*9880d681SAndroid Build Coastguard Worker 8689*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _laddress: 8690*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_lcallee, %eax 8691*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8692*9880d681SAndroid Build Coastguard Worker 8693*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _laddress: 8694*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_lcallee, %eax 8695*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8696*9880d681SAndroid Build Coastguard Worker 8697*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _laddress: 8698*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L134$pb 8699*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L134$pb: 8700*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 8701*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _lcallee-L134$pb([[EAX]]), %eax 8702*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8703*9880d681SAndroid Build Coastguard Worker 8704*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _laddress: 8705*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _lcallee(%rip), %rax 8706*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8707*9880d681SAndroid Build Coastguard Worker 8708*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _laddress: 8709*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _lcallee(%rip), %rax 8710*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8711*9880d681SAndroid Build Coastguard Worker 8712*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _laddress: 8713*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _lcallee(%rip), %rax 8714*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8715*9880d681SAndroid Build Coastguard Worker} 8716*9880d681SAndroid Build Coastguard Worker 8717*9880d681SAndroid Build Coastguard Workerdefine void ()* @daddress() nounwind { 8718*9880d681SAndroid Build Coastguard Workerentry: 8719*9880d681SAndroid Build Coastguard Worker ret void ()* @dcallee 8720*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: daddress: 8721*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: movl $dcallee, %eax 8722*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8723*9880d681SAndroid Build Coastguard Worker 8724*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: daddress: 8725*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: movl $dcallee, %eax 8726*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8727*9880d681SAndroid Build Coastguard Worker 8728*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: daddress: 8729*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: movl $dcallee, %eax 8730*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8731*9880d681SAndroid Build Coastguard Worker 8732*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: daddress: 8733*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: leaq dcallee(%rip), %rax 8734*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8735*9880d681SAndroid Build Coastguard Worker 8736*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _daddress: 8737*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: movl $_dcallee, %eax 8738*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8739*9880d681SAndroid Build Coastguard Worker 8740*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _daddress: 8741*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: movl $_dcallee, %eax 8742*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8743*9880d681SAndroid Build Coastguard Worker 8744*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _daddress: 8745*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: calll L135$pb 8746*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L135$pb: 8747*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 8748*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: leal _dcallee-L135$pb([[EAX]]), %eax 8749*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8750*9880d681SAndroid Build Coastguard Worker 8751*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _daddress: 8752*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: leaq _dcallee(%rip), %rax 8753*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8754*9880d681SAndroid Build Coastguard Worker 8755*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _daddress: 8756*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: leaq _dcallee(%rip), %rax 8757*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8758*9880d681SAndroid Build Coastguard Worker 8759*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _daddress: 8760*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: leaq _dcallee(%rip), %rax 8761*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8762*9880d681SAndroid Build Coastguard Worker} 8763*9880d681SAndroid Build Coastguard Worker 8764*9880d681SAndroid Build Coastguard Workerdefine void @caller() nounwind { 8765*9880d681SAndroid Build Coastguard Workerentry: 8766*9880d681SAndroid Build Coastguard Worker call void @callee() nounwind 8767*9880d681SAndroid Build Coastguard Worker call void @callee() nounwind 8768*9880d681SAndroid Build Coastguard Worker ret void 8769*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: caller: 8770*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq callee 8771*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq callee 8772*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8773*9880d681SAndroid Build Coastguard Worker 8774*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: caller: 8775*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 8776*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll callee 8777*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll callee 8778*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 8779*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8780*9880d681SAndroid Build Coastguard Worker 8781*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: caller: 8782*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 8783*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll callee 8784*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll callee 8785*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 8786*9880d681SAndroid Build Coastguard Worker 8787*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8788*9880d681SAndroid Build Coastguard Worker 8789*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: caller: 8790*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 8791*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq callee@PLT 8792*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq callee@PLT 8793*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 8794*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8795*9880d681SAndroid Build Coastguard Worker 8796*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _caller: 8797*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 8798*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _callee 8799*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _callee 8800*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 8801*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8802*9880d681SAndroid Build Coastguard Worker 8803*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _caller: 8804*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 8805*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _callee 8806*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _callee 8807*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 8808*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8809*9880d681SAndroid Build Coastguard Worker 8810*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _caller: 8811*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: subl $12, %esp 8812*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _callee 8813*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _callee 8814*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $12, %esp 8815*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8816*9880d681SAndroid Build Coastguard Worker 8817*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _caller: 8818*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 8819*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _callee 8820*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _callee 8821*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 8822*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8823*9880d681SAndroid Build Coastguard Worker 8824*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _caller: 8825*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 8826*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _callee 8827*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _callee 8828*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 8829*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8830*9880d681SAndroid Build Coastguard Worker 8831*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _caller: 8832*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 8833*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _callee 8834*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _callee 8835*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 8836*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8837*9880d681SAndroid Build Coastguard Worker} 8838*9880d681SAndroid Build Coastguard Worker 8839*9880d681SAndroid Build Coastguard Workerdefine void @dcaller() nounwind { 8840*9880d681SAndroid Build Coastguard Workerentry: 8841*9880d681SAndroid Build Coastguard Worker call void @dcallee() nounwind 8842*9880d681SAndroid Build Coastguard Worker call void @dcallee() nounwind 8843*9880d681SAndroid Build Coastguard Worker ret void 8844*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: dcaller: 8845*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq dcallee 8846*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq dcallee 8847*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8848*9880d681SAndroid Build Coastguard Worker 8849*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: dcaller: 8850*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 8851*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll dcallee 8852*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll dcallee 8853*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 8854*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8855*9880d681SAndroid Build Coastguard Worker 8856*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: dcaller: 8857*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 8858*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll dcallee 8859*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll dcallee 8860*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 8861*9880d681SAndroid Build Coastguard Worker 8862*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8863*9880d681SAndroid Build Coastguard Worker 8864*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: dcaller: 8865*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 8866*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq dcallee 8867*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq dcallee 8868*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 8869*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8870*9880d681SAndroid Build Coastguard Worker 8871*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _dcaller: 8872*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 8873*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _dcallee 8874*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _dcallee 8875*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 8876*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8877*9880d681SAndroid Build Coastguard Worker 8878*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _dcaller: 8879*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 8880*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _dcallee 8881*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _dcallee 8882*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 8883*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8884*9880d681SAndroid Build Coastguard Worker 8885*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _dcaller: 8886*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: subl $12, %esp 8887*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _dcallee 8888*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _dcallee 8889*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $12, %esp 8890*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8891*9880d681SAndroid Build Coastguard Worker 8892*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _dcaller: 8893*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 8894*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _dcallee 8895*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _dcallee 8896*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 8897*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8898*9880d681SAndroid Build Coastguard Worker 8899*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _dcaller: 8900*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 8901*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _dcallee 8902*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _dcallee 8903*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 8904*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8905*9880d681SAndroid Build Coastguard Worker 8906*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _dcaller: 8907*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 8908*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _dcallee 8909*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _dcallee 8910*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 8911*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8912*9880d681SAndroid Build Coastguard Worker} 8913*9880d681SAndroid Build Coastguard Worker 8914*9880d681SAndroid Build Coastguard Workerdefine void @lcaller() nounwind { 8915*9880d681SAndroid Build Coastguard Workerentry: 8916*9880d681SAndroid Build Coastguard Worker call void @lcallee() nounwind 8917*9880d681SAndroid Build Coastguard Worker call void @lcallee() nounwind 8918*9880d681SAndroid Build Coastguard Worker ret void 8919*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: lcaller: 8920*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq lcallee 8921*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq lcallee 8922*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8923*9880d681SAndroid Build Coastguard Worker 8924*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: lcaller: 8925*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 8926*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll lcallee 8927*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll lcallee 8928*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 8929*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 8930*9880d681SAndroid Build Coastguard Worker 8931*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: lcaller: 8932*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 8933*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll lcallee 8934*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll lcallee 8935*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 8936*9880d681SAndroid Build Coastguard Worker 8937*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 8938*9880d681SAndroid Build Coastguard Worker 8939*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: lcaller: 8940*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 8941*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq lcallee@PLT 8942*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq lcallee@PLT 8943*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 8944*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 8945*9880d681SAndroid Build Coastguard Worker 8946*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _lcaller: 8947*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 8948*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _lcallee 8949*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _lcallee 8950*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 8951*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 8952*9880d681SAndroid Build Coastguard Worker 8953*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _lcaller: 8954*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 8955*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _lcallee 8956*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _lcallee 8957*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 8958*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 8959*9880d681SAndroid Build Coastguard Worker 8960*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _lcaller: 8961*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: subl $12, %esp 8962*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _lcallee 8963*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _lcallee 8964*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $12, %esp 8965*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 8966*9880d681SAndroid Build Coastguard Worker 8967*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _lcaller: 8968*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 8969*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _lcallee 8970*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _lcallee 8971*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 8972*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 8973*9880d681SAndroid Build Coastguard Worker 8974*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _lcaller: 8975*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 8976*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _lcallee 8977*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _lcallee 8978*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 8979*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 8980*9880d681SAndroid Build Coastguard Worker 8981*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _lcaller: 8982*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 8983*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _lcallee 8984*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _lcallee 8985*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 8986*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 8987*9880d681SAndroid Build Coastguard Worker} 8988*9880d681SAndroid Build Coastguard Worker 8989*9880d681SAndroid Build Coastguard Workerdefine void @tailcaller() nounwind { 8990*9880d681SAndroid Build Coastguard Workerentry: 8991*9880d681SAndroid Build Coastguard Worker call void @callee() nounwind 8992*9880d681SAndroid Build Coastguard Worker ret void 8993*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: tailcaller: 8994*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq callee 8995*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 8996*9880d681SAndroid Build Coastguard Worker 8997*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: tailcaller: 8998*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 8999*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll callee 9000*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 9001*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 9002*9880d681SAndroid Build Coastguard Worker 9003*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: tailcaller: 9004*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 9005*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll callee 9006*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 9007*9880d681SAndroid Build Coastguard Worker 9008*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 9009*9880d681SAndroid Build Coastguard Worker 9010*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: tailcaller: 9011*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 9012*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq callee@PLT 9013*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 9014*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 9015*9880d681SAndroid Build Coastguard Worker 9016*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _tailcaller: 9017*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 9018*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _callee 9019*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 9020*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 9021*9880d681SAndroid Build Coastguard Worker 9022*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _tailcaller: 9023*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 9024*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _callee 9025*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 9026*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 9027*9880d681SAndroid Build Coastguard Worker 9028*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _tailcaller: 9029*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: subl $12, %esp 9030*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _callee 9031*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $12, %esp 9032*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 9033*9880d681SAndroid Build Coastguard Worker 9034*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _tailcaller: 9035*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 9036*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _callee 9037*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 9038*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 9039*9880d681SAndroid Build Coastguard Worker 9040*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _tailcaller: 9041*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 9042*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _callee 9043*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 9044*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 9045*9880d681SAndroid Build Coastguard Worker 9046*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _tailcaller: 9047*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 9048*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _callee 9049*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 9050*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 9051*9880d681SAndroid Build Coastguard Worker} 9052*9880d681SAndroid Build Coastguard Worker 9053*9880d681SAndroid Build Coastguard Workerdefine void @dtailcaller() nounwind { 9054*9880d681SAndroid Build Coastguard Workerentry: 9055*9880d681SAndroid Build Coastguard Worker call void @dcallee() nounwind 9056*9880d681SAndroid Build Coastguard Worker ret void 9057*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: dtailcaller: 9058*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq dcallee 9059*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 9060*9880d681SAndroid Build Coastguard Worker 9061*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: dtailcaller: 9062*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 9063*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll dcallee 9064*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 9065*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 9066*9880d681SAndroid Build Coastguard Worker 9067*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: dtailcaller: 9068*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 9069*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll dcallee 9070*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 9071*9880d681SAndroid Build Coastguard Worker 9072*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 9073*9880d681SAndroid Build Coastguard Worker 9074*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: dtailcaller: 9075*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 9076*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq dcallee 9077*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 9078*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 9079*9880d681SAndroid Build Coastguard Worker 9080*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _dtailcaller: 9081*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 9082*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _dcallee 9083*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 9084*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 9085*9880d681SAndroid Build Coastguard Worker 9086*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _dtailcaller: 9087*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 9088*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _dcallee 9089*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 9090*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 9091*9880d681SAndroid Build Coastguard Worker 9092*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _dtailcaller: 9093*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: subl $12, %esp 9094*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _dcallee 9095*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $12, %esp 9096*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 9097*9880d681SAndroid Build Coastguard Worker 9098*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _dtailcaller: 9099*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 9100*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _dcallee 9101*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 9102*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 9103*9880d681SAndroid Build Coastguard Worker 9104*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _dtailcaller: 9105*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 9106*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _dcallee 9107*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 9108*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 9109*9880d681SAndroid Build Coastguard Worker 9110*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _dtailcaller: 9111*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 9112*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _dcallee 9113*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 9114*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 9115*9880d681SAndroid Build Coastguard Worker} 9116*9880d681SAndroid Build Coastguard Worker 9117*9880d681SAndroid Build Coastguard Workerdefine void @ltailcaller() nounwind { 9118*9880d681SAndroid Build Coastguard Workerentry: 9119*9880d681SAndroid Build Coastguard Worker call void @lcallee() nounwind 9120*9880d681SAndroid Build Coastguard Worker ret void 9121*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ltailcaller: 9122*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq lcallee 9123*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 9124*9880d681SAndroid Build Coastguard Worker 9125*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ltailcaller: 9126*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 9127*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll lcallee 9128*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 9129*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 9130*9880d681SAndroid Build Coastguard Worker 9131*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ltailcaller: 9132*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 9133*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll lcallee 9134*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 9135*9880d681SAndroid Build Coastguard Worker 9136*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 9137*9880d681SAndroid Build Coastguard Worker 9138*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ltailcaller: 9139*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 9140*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq lcallee@PLT 9141*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 9142*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 9143*9880d681SAndroid Build Coastguard Worker 9144*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ltailcaller: 9145*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 9146*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll _lcallee 9147*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 9148*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 9149*9880d681SAndroid Build Coastguard Worker 9150*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ltailcaller: 9151*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 9152*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll _lcallee 9153*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 9154*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 9155*9880d681SAndroid Build Coastguard Worker 9156*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ltailcaller: 9157*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: subl $12, %esp 9158*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll _lcallee 9159*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $12, %esp 9160*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 9161*9880d681SAndroid Build Coastguard Worker 9162*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ltailcaller: 9163*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 9164*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq _lcallee 9165*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 9166*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 9167*9880d681SAndroid Build Coastguard Worker 9168*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ltailcaller: 9169*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 9170*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq _lcallee 9171*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 9172*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 9173*9880d681SAndroid Build Coastguard Worker 9174*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ltailcaller: 9175*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 9176*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq _lcallee 9177*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 9178*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 9179*9880d681SAndroid Build Coastguard Worker} 9180*9880d681SAndroid Build Coastguard Worker 9181*9880d681SAndroid Build Coastguard Workerdefine void @icaller() nounwind { 9182*9880d681SAndroid Build Coastguard Workerentry: 9183*9880d681SAndroid Build Coastguard Worker %0 = load void ()*, void ()** @ifunc, align 8 9184*9880d681SAndroid Build Coastguard Worker call void %0() nounwind 9185*9880d681SAndroid Build Coastguard Worker %1 = load void ()*, void ()** @ifunc, align 8 9186*9880d681SAndroid Build Coastguard Worker call void %1() nounwind 9187*9880d681SAndroid Build Coastguard Worker ret void 9188*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: icaller: 9189*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq *ifunc 9190*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq *ifunc 9191*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 9192*9880d681SAndroid Build Coastguard Worker 9193*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: icaller: 9194*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 9195*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll *ifunc 9196*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll *ifunc 9197*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 9198*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 9199*9880d681SAndroid Build Coastguard Worker 9200*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: icaller: 9201*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 9202*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll *ifunc 9203*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll *ifunc 9204*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 9205*9880d681SAndroid Build Coastguard Worker 9206*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 9207*9880d681SAndroid Build Coastguard Worker 9208*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: icaller: 9209*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq [[RBX:%r.x]] 9210*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), [[RBX:%r.x]] 9211*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq *([[RBX]]) 9212*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq *([[RBX]]) 9213*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq [[RBX:%r.x]] 9214*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 9215*9880d681SAndroid Build Coastguard Worker 9216*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _icaller: 9217*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 9218*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll *_ifunc 9219*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll *_ifunc 9220*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 9221*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 9222*9880d681SAndroid Build Coastguard Worker 9223*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _icaller: 9224*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: pushl %esi 9225*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: subl $8, %esp 9226*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ifunc$non_lazy_ptr, %esi 9227*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll *(%esi) 9228*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll *(%esi) 9229*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $8, %esp 9230*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: popl %esi 9231*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 9232*9880d681SAndroid Build Coastguard Worker 9233*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _icaller: 9234*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: pushl %esi 9235*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: subl $8, %esp 9236*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll L142$pb 9237*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L142$pb: 9238*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 9239*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ifunc$non_lazy_ptr-L142$pb([[EAX]]), %esi 9240*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll *(%esi) 9241*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll *(%esi) 9242*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $8, %esp 9243*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl %esi 9244*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 9245*9880d681SAndroid Build Coastguard Worker 9246*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _icaller: 9247*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq [[RBX:%r.x]] 9248*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ifunc@GOTPCREL(%rip), [[RBX:%r.x]] 9249*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq *([[RBX]]) 9250*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq *([[RBX]]) 9251*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq [[RBX:%r.x]] 9252*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 9253*9880d681SAndroid Build Coastguard Worker 9254*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _icaller: 9255*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq [[RBX:%r.x]] 9256*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@GOTPCREL(%rip), [[RBX:%r.x]] 9257*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq *([[RBX]]) 9258*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq *([[RBX]]) 9259*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq [[RBX:%r.x]] 9260*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 9261*9880d681SAndroid Build Coastguard Worker 9262*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _icaller: 9263*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq [[RBX:%r.x]] 9264*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), [[RBX:%r.x]] 9265*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq *([[RBX]]) 9266*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq *([[RBX]]) 9267*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq [[RBX:%r.x]] 9268*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 9269*9880d681SAndroid Build Coastguard Worker} 9270*9880d681SAndroid Build Coastguard Worker 9271*9880d681SAndroid Build Coastguard Workerdefine void @dicaller() nounwind { 9272*9880d681SAndroid Build Coastguard Workerentry: 9273*9880d681SAndroid Build Coastguard Worker %0 = load void ()*, void ()** @difunc, align 8 9274*9880d681SAndroid Build Coastguard Worker call void %0() nounwind 9275*9880d681SAndroid Build Coastguard Worker %1 = load void ()*, void ()** @difunc, align 8 9276*9880d681SAndroid Build Coastguard Worker call void %1() nounwind 9277*9880d681SAndroid Build Coastguard Worker ret void 9278*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: dicaller: 9279*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq *difunc 9280*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq *difunc 9281*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 9282*9880d681SAndroid Build Coastguard Worker 9283*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: dicaller: 9284*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 9285*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll *difunc 9286*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll *difunc 9287*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 9288*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 9289*9880d681SAndroid Build Coastguard Worker 9290*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: dicaller: 9291*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 9292*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll *difunc 9293*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll *difunc 9294*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 9295*9880d681SAndroid Build Coastguard Worker 9296*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 9297*9880d681SAndroid Build Coastguard Worker 9298*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: dicaller: 9299*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq [[RBX:%r.x]] 9300*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq difunc@GOTPCREL(%rip), [[RBX:%r.x]] 9301*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq *([[RBX]]) 9302*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq *([[RBX]]) 9303*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq [[RBX:%r.x]] 9304*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 9305*9880d681SAndroid Build Coastguard Worker 9306*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _dicaller: 9307*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 9308*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll *_difunc 9309*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll *_difunc 9310*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 9311*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 9312*9880d681SAndroid Build Coastguard Worker 9313*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _dicaller: 9314*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 9315*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll *_difunc 9316*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll *_difunc 9317*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 9318*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 9319*9880d681SAndroid Build Coastguard Worker 9320*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _dicaller: 9321*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: pushl %esi 9322*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: subl $8, %esp 9323*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll L143$pb 9324*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L143$pb: 9325*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl %esi 9326*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll *_difunc-L143$pb(%esi) 9327*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll *_difunc-L143$pb(%esi) 9328*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $8, %esp 9329*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl %esi 9330*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 9331*9880d681SAndroid Build Coastguard Worker 9332*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _dicaller: 9333*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 9334*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) 9335*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) 9336*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 9337*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 9338*9880d681SAndroid Build Coastguard Worker 9339*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _dicaller: 9340*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 9341*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq *_difunc(%rip) 9342*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq *_difunc(%rip) 9343*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 9344*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 9345*9880d681SAndroid Build Coastguard Worker 9346*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _dicaller: 9347*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 9348*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq *_difunc(%rip) 9349*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq *_difunc(%rip) 9350*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 9351*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 9352*9880d681SAndroid Build Coastguard Worker} 9353*9880d681SAndroid Build Coastguard Worker 9354*9880d681SAndroid Build Coastguard Workerdefine void @licaller() nounwind { 9355*9880d681SAndroid Build Coastguard Workerentry: 9356*9880d681SAndroid Build Coastguard Worker %0 = load void ()*, void ()** @lifunc, align 8 9357*9880d681SAndroid Build Coastguard Worker call void %0() nounwind 9358*9880d681SAndroid Build Coastguard Worker %1 = load void ()*, void ()** @lifunc, align 8 9359*9880d681SAndroid Build Coastguard Worker call void %1() nounwind 9360*9880d681SAndroid Build Coastguard Worker ret void 9361*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: licaller: 9362*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq *lifunc 9363*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq *lifunc 9364*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 9365*9880d681SAndroid Build Coastguard Worker 9366*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: licaller: 9367*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 9368*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll *lifunc 9369*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll *lifunc 9370*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 9371*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 9372*9880d681SAndroid Build Coastguard Worker 9373*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: licaller: 9374*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 9375*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll *lifunc 9376*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll *lifunc 9377*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 9378*9880d681SAndroid Build Coastguard Worker 9379*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 9380*9880d681SAndroid Build Coastguard Worker 9381*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: licaller: 9382*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 9383*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq *lifunc(%rip) 9384*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq *lifunc(%rip) 9385*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 9386*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 9387*9880d681SAndroid Build Coastguard Worker 9388*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _licaller: 9389*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 9390*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll *_lifunc 9391*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll *_lifunc 9392*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 9393*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 9394*9880d681SAndroid Build Coastguard Worker 9395*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _licaller: 9396*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 9397*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll *_lifunc 9398*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll *_lifunc 9399*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 9400*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 9401*9880d681SAndroid Build Coastguard Worker 9402*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _licaller: 9403*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: pushl %esi 9404*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: subl $8, %esp 9405*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll L144$pb 9406*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L144$pb: 9407*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl %esi 9408*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll *_lifunc-L144$pb(%esi) 9409*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll *_lifunc-L144$pb(%esi) 9410*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $8, %esp 9411*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl %esi 9412*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 9413*9880d681SAndroid Build Coastguard Worker 9414*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _licaller: 9415*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 9416*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) 9417*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) 9418*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 9419*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 9420*9880d681SAndroid Build Coastguard Worker 9421*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _licaller: 9422*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 9423*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq *_lifunc(%rip) 9424*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq *_lifunc(%rip) 9425*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 9426*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 9427*9880d681SAndroid Build Coastguard Worker 9428*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _licaller: 9429*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 9430*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip) 9431*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip) 9432*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 9433*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 9434*9880d681SAndroid Build Coastguard Worker} 9435*9880d681SAndroid Build Coastguard Worker 9436*9880d681SAndroid Build Coastguard Workerdefine void @itailcaller() nounwind { 9437*9880d681SAndroid Build Coastguard Workerentry: 9438*9880d681SAndroid Build Coastguard Worker %0 = load void ()*, void ()** @ifunc, align 8 9439*9880d681SAndroid Build Coastguard Worker call void %0() nounwind 9440*9880d681SAndroid Build Coastguard Worker %1 = load void ()*, void ()** @ifunc, align 8 9441*9880d681SAndroid Build Coastguard Worker call void %1() nounwind 9442*9880d681SAndroid Build Coastguard Worker ret void 9443*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: itailcaller: 9444*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq *ifunc 9445*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq *ifunc 9446*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 9447*9880d681SAndroid Build Coastguard Worker 9448*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: itailcaller: 9449*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 9450*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll *ifunc 9451*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll *ifunc 9452*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 9453*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 9454*9880d681SAndroid Build Coastguard Worker 9455*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: itailcaller: 9456*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 9457*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll *ifunc 9458*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll *ifunc 9459*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 9460*9880d681SAndroid Build Coastguard Worker 9461*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 9462*9880d681SAndroid Build Coastguard Worker 9463*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: itailcaller: 9464*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq [[RBX:%r.x]] 9465*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq ifunc@GOTPCREL(%rip), [[RBX:%r.x]] 9466*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq *([[RBX]]) 9467*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq *([[RBX]]) 9468*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq [[RBX:%r.x]] 9469*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 9470*9880d681SAndroid Build Coastguard Worker 9471*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _itailcaller: 9472*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 9473*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll *_ifunc 9474*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll *_ifunc 9475*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 9476*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 9477*9880d681SAndroid Build Coastguard Worker 9478*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _itailcaller: 9479*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: pushl %esi 9480*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: subl $8, %esp 9481*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: movl L_ifunc$non_lazy_ptr, %esi 9482*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll *(%esi) 9483*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll *(%esi) 9484*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $8, %esp 9485*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: popl %esi 9486*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 9487*9880d681SAndroid Build Coastguard Worker 9488*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _itailcaller: 9489*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: pushl %esi 9490*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: subl $8, %esp 9491*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll L145$pb 9492*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L145$pb: 9493*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 9494*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: movl L_ifunc$non_lazy_ptr-L145$pb([[EAX]]), %esi 9495*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll *(%esi) 9496*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll *(%esi) 9497*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $8, %esp 9498*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl %esi 9499*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 9500*9880d681SAndroid Build Coastguard Worker 9501*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _itailcaller: 9502*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq [[RBX:%r.x]] 9503*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: movq _ifunc@GOTPCREL(%rip), [[RBX:%r.x]] 9504*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq *([[RBX]]) 9505*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq *([[RBX]]) 9506*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq [[RBX:%r.x]] 9507*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 9508*9880d681SAndroid Build Coastguard Worker 9509*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _itailcaller: 9510*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq [[RBX:%r.x]] 9511*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: movq _ifunc@GOTPCREL(%rip), [[RBX:%r.x]] 9512*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq *([[RBX]]) 9513*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq *([[RBX]]) 9514*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq [[RBX:%r.x]] 9515*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 9516*9880d681SAndroid Build Coastguard Worker 9517*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _itailcaller: 9518*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq [[RBX:%r.x]] 9519*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: movq _ifunc@GOTPCREL(%rip), [[RBX:%r.x]] 9520*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq *([[RBX]]) 9521*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq *([[RBX]]) 9522*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq [[RBX:%r.x]] 9523*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 9524*9880d681SAndroid Build Coastguard Worker} 9525*9880d681SAndroid Build Coastguard Worker 9526*9880d681SAndroid Build Coastguard Workerdefine void @ditailcaller() nounwind { 9527*9880d681SAndroid Build Coastguard Workerentry: 9528*9880d681SAndroid Build Coastguard Worker %0 = load void ()*, void ()** @difunc, align 8 9529*9880d681SAndroid Build Coastguard Worker call void %0() nounwind 9530*9880d681SAndroid Build Coastguard Worker ret void 9531*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: ditailcaller: 9532*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq *difunc 9533*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 9534*9880d681SAndroid Build Coastguard Worker 9535*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: ditailcaller: 9536*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 9537*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll *difunc 9538*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 9539*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 9540*9880d681SAndroid Build Coastguard Worker 9541*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: ditailcaller: 9542*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 9543*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll *difunc 9544*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 9545*9880d681SAndroid Build Coastguard Worker 9546*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 9547*9880d681SAndroid Build Coastguard Worker 9548*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: ditailcaller: 9549*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 9550*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: movq difunc@GOTPCREL(%rip), [[RAX:%r.x]] 9551*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq *([[RAX]]) 9552*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 9553*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 9554*9880d681SAndroid Build Coastguard Worker 9555*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _ditailcaller: 9556*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 9557*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll *_difunc 9558*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 9559*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 9560*9880d681SAndroid Build Coastguard Worker 9561*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _ditailcaller: 9562*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 9563*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll *_difunc 9564*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 9565*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 9566*9880d681SAndroid Build Coastguard Worker 9567*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _ditailcaller: 9568*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: subl $12, %esp 9569*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll L146$pb 9570*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L146$pb: 9571*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 9572*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll *_difunc-L146$pb([[EAX]]) 9573*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $12, %esp 9574*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 9575*9880d681SAndroid Build Coastguard Worker 9576*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _ditailcaller: 9577*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 9578*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq *_difunc(%rip) 9579*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 9580*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 9581*9880d681SAndroid Build Coastguard Worker 9582*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _ditailcaller: 9583*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 9584*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq *_difunc(%rip) 9585*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 9586*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 9587*9880d681SAndroid Build Coastguard Worker 9588*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _ditailcaller: 9589*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: callq *_difunc(%rip) 9590*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 9591*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 9592*9880d681SAndroid Build Coastguard Worker} 9593*9880d681SAndroid Build Coastguard Worker 9594*9880d681SAndroid Build Coastguard Workerdefine void @litailcaller() nounwind { 9595*9880d681SAndroid Build Coastguard Workerentry: 9596*9880d681SAndroid Build Coastguard Worker %0 = load void ()*, void ()** @lifunc, align 8 9597*9880d681SAndroid Build Coastguard Worker call void %0() nounwind 9598*9880d681SAndroid Build Coastguard Worker ret void 9599*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC-LABEL: litailcaller: 9600*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: callq *lifunc 9601*9880d681SAndroid Build Coastguard Worker; LINUX-64-STATIC: ret 9602*9880d681SAndroid Build Coastguard Worker 9603*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-LABEL: litailcaller: 9604*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC: subl 9605*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: calll *lifunc 9606*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: addl 9607*9880d681SAndroid Build Coastguard Worker; LINUX-32-STATIC-NEXT: ret 9608*9880d681SAndroid Build Coastguard Worker 9609*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-LABEL: litailcaller: 9610*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC: subl 9611*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: calll *lifunc 9612*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: addl 9613*9880d681SAndroid Build Coastguard Worker 9614*9880d681SAndroid Build Coastguard Worker; LINUX-32-PIC-NEXT: ret 9615*9880d681SAndroid Build Coastguard Worker 9616*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-LABEL: litailcaller: 9617*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC: pushq 9618*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: callq *lifunc(%rip) 9619*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: popq 9620*9880d681SAndroid Build Coastguard Worker; LINUX-64-PIC-NEXT: ret 9621*9880d681SAndroid Build Coastguard Worker 9622*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: _litailcaller: 9623*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC: subl $12, %esp 9624*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: calll *_lifunc 9625*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: addl $12, %esp 9626*9880d681SAndroid Build Coastguard Worker; DARWIN-32-STATIC-NEXT: ret 9627*9880d681SAndroid Build Coastguard Worker 9628*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: _litailcaller: 9629*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC: subl $12, %esp 9630*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: calll *_lifunc 9631*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: addl $12, %esp 9632*9880d681SAndroid Build Coastguard Worker; DARWIN-32-DYNAMIC-NEXT: ret 9633*9880d681SAndroid Build Coastguard Worker 9634*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: _litailcaller: 9635*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC: subl $12, %esp 9636*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll L147$pb 9637*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: L147$pb: 9638*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: popl [[EAX:%e.x]] 9639*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: calll *_lifunc-L147$pb([[EAX]]) 9640*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: addl $12, %esp 9641*9880d681SAndroid Build Coastguard Worker; DARWIN-32-PIC-NEXT: ret 9642*9880d681SAndroid Build Coastguard Worker 9643*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: _litailcaller: 9644*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC: pushq 9645*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: callq *_lifunc(%rip) 9646*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: popq 9647*9880d681SAndroid Build Coastguard Worker; DARWIN-64-STATIC-NEXT: ret 9648*9880d681SAndroid Build Coastguard Worker 9649*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: _litailcaller: 9650*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC: pushq 9651*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: callq *_lifunc(%rip) 9652*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: popq 9653*9880d681SAndroid Build Coastguard Worker; DARWIN-64-DYNAMIC-NEXT: ret 9654*9880d681SAndroid Build Coastguard Worker 9655*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: _litailcaller: 9656*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC: pushq 9657*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: callq *_lifunc(%rip) 9658*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: popq 9659*9880d681SAndroid Build Coastguard Worker; DARWIN-64-PIC-NEXT: ret 9660*9880d681SAndroid Build Coastguard Worker} 9661