ret void
; LINUX-64-STATIC: foo00:
-; LINUX-64-STATIC: movl src, %eax
+; LINUX-64-STATIC: movl src(%rip), %eax
; LINUX-64-STATIC: movl %eax, dst
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: fxo00:
-; LINUX-64-STATIC: movl xsrc, %eax
+; LINUX-64-STATIC: movl xsrc(%rip), %eax
; LINUX-64-STATIC: movl %eax, xdst
; LINUX-64-STATIC: ret
}
store i32 %1, i32* %0, align 4
ret void
; LINUX-64-STATIC: foo02:
-; LINUX-64-STATIC: movl src, %
-; LINUX-64-STATIC: movq ptr, %
+; LINUX-64-STATIC: movl src(%rip), %
+; LINUX-64-STATIC: movq ptr(%rip), %
; LINUX-64-STATIC: movl
; LINUX-64-STATIC: ret
}
%1 = load i32* getelementptr ([32 x i32]* @xsrc, i32 0, i64 0), align 4
store i32 %1, i32* %0, align 4
; LINUX-64-STATIC: fxo02:
-; LINUX-64-STATIC: movl xsrc, %
-; LINUX-64-STATIC: movq ptr, %
+; LINUX-64-STATIC: movl xsrc(%rip), %
+; LINUX-64-STATIC: movq ptr(%rip), %
; LINUX-64-STATIC: movl
; LINUX-64-STATIC: ret
ret void
store i32 %0, i32* getelementptr ([131072 x i32]* @ddst, i32 0, i64 0), align 32
ret void
; LINUX-64-STATIC: foo03:
-; LINUX-64-STATIC: movl dsrc, %eax
+; LINUX-64-STATIC: movl dsrc(%rip), %eax
; LINUX-64-STATIC: movl %eax, ddst
; LINUX-64-STATIC: ret
}
store i32 %1, i32* %0, align 4
ret void
; LINUX-64-STATIC: foo05:
-; LINUX-64-STATIC: movl dsrc, %
-; LINUX-64-STATIC: movq dptr, %
+; LINUX-64-STATIC: movl dsrc(%rip), %
+; LINUX-64-STATIC: movq dptr(%rip), %
; LINUX-64-STATIC: movl
; LINUX-64-STATIC: ret
}
store i32 %0, i32* getelementptr ([131072 x i32]* @ldst, i32 0, i64 0), align 4
ret void
; LINUX-64-STATIC: foo06:
-; LINUX-64-STATIC: movl lsrc, %eax
-; LINUX-64-STATIC: movl %eax, ldst
+; LINUX-64-STATIC: movl lsrc(%rip), %eax
+; LINUX-64-STATIC: movl %eax, ldst(%rip)
; LINUX-64-STATIC: ret
}
store i32 %1, i32* %0, align 4
ret void
; LINUX-64-STATIC: foo08:
-; LINUX-64-STATIC: movl lsrc, %
-; LINUX-64-STATIC: movq lptr, %
+; LINUX-64-STATIC: movl lsrc(%rip), %
+; LINUX-64-STATIC: movq lptr(%rip), %
; LINUX-64-STATIC: movl
; LINUX-64-STATIC: ret
}
store i32 %0, i32* getelementptr ([131072 x i32]* @dst, i32 0, i64 16), align 4
ret void
; LINUX-64-STATIC: qux00:
-; LINUX-64-STATIC: movl src+64, %eax
-; LINUX-64-STATIC: movl %eax, dst+64
+; LINUX-64-STATIC: movl src+64(%rip), %eax
+; LINUX-64-STATIC: movl %eax, dst+64(%rip)
; LINUX-64-STATIC: ret
}
store i32 %0, i32* getelementptr ([32 x i32]* @xdst, i32 0, i64 16), align 4
ret void
; LINUX-64-STATIC: qxx00:
-; LINUX-64-STATIC: movl xsrc+64, %eax
-; LINUX-64-STATIC: movl %eax, xdst+64
+; LINUX-64-STATIC: movl xsrc+64(%rip), %eax
+; LINUX-64-STATIC: movl %eax, xdst+64(%rip)
; LINUX-64-STATIC: ret
}
%2 = getelementptr i32* %0, i64 16
store i32 %1, i32* %2, align 4
; LINUX-64-STATIC: qux02:
-; LINUX-64-STATIC: movl src+64, %eax
-; LINUX-64-STATIC: movq ptr, %rcx
+; LINUX-64-STATIC: movl src+64(%rip), %eax
+; LINUX-64-STATIC: movq ptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 64(%rcx)
; LINUX-64-STATIC: ret
ret void
%2 = getelementptr i32* %0, i64 16
store i32 %1, i32* %2, align 4
; LINUX-64-STATIC: qxx02:
-; LINUX-64-STATIC: movl xsrc+64, %eax
-; LINUX-64-STATIC: movq ptr, %rcx
+; LINUX-64-STATIC: movl xsrc+64(%rip), %eax
+; LINUX-64-STATIC: movq ptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 64(%rcx)
; LINUX-64-STATIC: ret
ret void
store i32 %0, i32* getelementptr ([131072 x i32]* @ddst, i32 0, i64 16), align 32
ret void
; LINUX-64-STATIC: qux03:
-; LINUX-64-STATIC: movl dsrc+64, %eax
-; LINUX-64-STATIC: movl %eax, ddst+64
+; LINUX-64-STATIC: movl dsrc+64(%rip), %eax
+; LINUX-64-STATIC: movl %eax, ddst+64(%rip)
; LINUX-64-STATIC: ret
}
store i32* getelementptr ([131072 x i32]* @ddst, i32 0, i64 16), i32** @dptr, align 8
ret void
; LINUX-64-STATIC: qux04:
-; LINUX-64-STATIC: movq $ddst+64, dptr
+; LINUX-64-STATIC: movq $ddst+64, dptr(%rip)
; LINUX-64-STATIC: ret
}
%2 = getelementptr i32* %0, i64 16
store i32 %1, i32* %2, align 4
; LINUX-64-STATIC: qux05:
-; LINUX-64-STATIC: movl dsrc+64, %eax
-; LINUX-64-STATIC: movq dptr, %rcx
+; LINUX-64-STATIC: movl dsrc+64(%rip), %eax
+; LINUX-64-STATIC: movq dptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 64(%rcx)
; LINUX-64-STATIC: ret
ret void
store i32 %0, i32* getelementptr ([131072 x i32]* @ldst, i32 0, i64 16), align 4
ret void
; LINUX-64-STATIC: qux06:
-; LINUX-64-STATIC: movl lsrc+64, %eax
+; LINUX-64-STATIC: movl lsrc+64(%rip), %eax
; LINUX-64-STATIC: movl %eax, ldst+64
; LINUX-64-STATIC: ret
}
%2 = getelementptr i32* %0, i64 16
store i32 %1, i32* %2, align 4
; LINUX-64-STATIC: qux08:
-; LINUX-64-STATIC: movl lsrc+64, %eax
-; LINUX-64-STATIC: movq lptr, %rcx
+; LINUX-64-STATIC: movl lsrc+64(%rip), %eax
+; LINUX-64-STATIC: movq lptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 64(%rcx)
; LINUX-64-STATIC: ret
ret void
ret void
; LINUX-64-STATIC: ind02:
; LINUX-64-STATIC: movl src(,%rdi,4), %eax
-; LINUX-64-STATIC: movq ptr, %rcx
+; LINUX-64-STATIC: movq ptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, (%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: ixd02:
; LINUX-64-STATIC: movl xsrc(,%rdi,4), %eax
-; LINUX-64-STATIC: movq ptr, %rcx
+; LINUX-64-STATIC: movq ptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, (%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: ind05:
; LINUX-64-STATIC: movl dsrc(,%rdi,4), %eax
-; LINUX-64-STATIC: movq dptr, %rcx
+; LINUX-64-STATIC: movq dptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, (%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: ind08:
; LINUX-64-STATIC: movl lsrc(,%rdi,4), %eax
-; LINUX-64-STATIC: movq lptr, %rcx
+; LINUX-64-STATIC: movq lptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, (%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: off02:
; LINUX-64-STATIC: movl src+64(,%rdi,4), %eax
-; LINUX-64-STATIC: movq ptr, %rcx
+; LINUX-64-STATIC: movq ptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 64(%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: oxf02:
; LINUX-64-STATIC: movl xsrc+64(,%rdi,4), %eax
-; LINUX-64-STATIC: movq ptr, %rcx
+; LINUX-64-STATIC: movq ptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 64(%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: off05:
; LINUX-64-STATIC: movl dsrc+64(,%rdi,4), %eax
-; LINUX-64-STATIC: movq dptr, %rcx
+; LINUX-64-STATIC: movq dptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 64(%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: off08:
; LINUX-64-STATIC: movl lsrc+64(,%rdi,4), %eax
-; LINUX-64-STATIC: movq lptr, %rcx
+; LINUX-64-STATIC: movq lptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 64(%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
store i32 %0, i32* getelementptr ([131072 x i32]* @dst, i32 0, i64 65536), align 4
ret void
; LINUX-64-STATIC: moo00:
-; LINUX-64-STATIC: movl src+262144, %eax
-; LINUX-64-STATIC: movl %eax, dst+262144
+; LINUX-64-STATIC: movl src+262144(%rip), %eax
+; LINUX-64-STATIC: movl %eax, dst+262144(%rip)
; LINUX-64-STATIC: ret
}
store i32* getelementptr ([131072 x i32]* @dst, i32 0, i64 65536), i32** @ptr, align 8
ret void
; LINUX-64-STATIC: moo01:
-; LINUX-64-STATIC: movq $dst+262144, ptr
+; LINUX-64-STATIC: movq $dst+262144, ptr(%rip)
; LINUX-64-STATIC: ret
}
store i32 %1, i32* %2, align 4
ret void
; LINUX-64-STATIC: moo02:
-; LINUX-64-STATIC: movl src+262144, %eax
-; LINUX-64-STATIC: movq ptr, %rcx
+; LINUX-64-STATIC: movl src+262144(%rip), %eax
+; LINUX-64-STATIC: movq ptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 262144(%rcx)
; LINUX-64-STATIC: ret
}
store i32 %0, i32* getelementptr ([131072 x i32]* @ddst, i32 0, i64 65536), align 32
ret void
; LINUX-64-STATIC: moo03:
-; LINUX-64-STATIC: movl dsrc+262144, %eax
-; LINUX-64-STATIC: movl %eax, ddst+262144
+; LINUX-64-STATIC: movl dsrc+262144(%rip), %eax
+; LINUX-64-STATIC: movl %eax, ddst+262144(%rip)
; LINUX-64-STATIC: ret
}
store i32 %1, i32* %2, align 4
ret void
; LINUX-64-STATIC: moo05:
-; LINUX-64-STATIC: movl dsrc+262144, %eax
-; LINUX-64-STATIC: movq dptr, %rcx
+; LINUX-64-STATIC: movl dsrc+262144(%rip), %eax
+; LINUX-64-STATIC: movq dptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 262144(%rcx)
; LINUX-64-STATIC: ret
}
store i32 %0, i32* getelementptr ([131072 x i32]* @ldst, i32 0, i64 65536), align 4
ret void
; LINUX-64-STATIC: moo06:
-; LINUX-64-STATIC: movl lsrc+262144, %eax
-; LINUX-64-STATIC: movl %eax, ldst+262144
+; LINUX-64-STATIC: movl lsrc+262144(%rip), %eax
+; LINUX-64-STATIC: movl %eax, ldst+262144(%rip)
; LINUX-64-STATIC: ret
}
store i32 %1, i32* %2, align 4
ret void
; LINUX-64-STATIC: moo08:
-; LINUX-64-STATIC: movl lsrc+262144, %eax
-; LINUX-64-STATIC: movq lptr, %rcx
+; LINUX-64-STATIC: movl lsrc+262144(%rip), %eax
+; LINUX-64-STATIC: movq lptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 262144(%rcx)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: big01:
; LINUX-64-STATIC: leaq dst+262144(,%rdi,4), %rax
-; LINUX-64-STATIC: movq %rax, ptr
+; LINUX-64-STATIC: movq %rax, ptr(%rip)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: big02:
; LINUX-64-STATIC: movl src+262144(,%rdi,4), %eax
-; LINUX-64-STATIC: movq ptr, %rcx
+; LINUX-64-STATIC: movq ptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 262144(%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: big05:
; LINUX-64-STATIC: movl dsrc+262144(,%rdi,4), %eax
-; LINUX-64-STATIC: movq dptr, %rcx
+; LINUX-64-STATIC: movq dptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 262144(%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
ret void
; LINUX-64-STATIC: big08:
; LINUX-64-STATIC: movl lsrc+262144(,%rdi,4), %eax
-; LINUX-64-STATIC: movq lptr, %rcx
+; LINUX-64-STATIC: movq lptr(%rip), %rcx
; LINUX-64-STATIC: movl %eax, 262144(%rcx,%rdi,4)
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @src to i8*)
; LINUX-64-STATIC: bar00:
-; LINUX-64-STATIC: leaq src, %rax
+; LINUX-64-STATIC: movl $src, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([32 x i32]* @xsrc to i8*)
; LINUX-64-STATIC: bxr00:
-; LINUX-64-STATIC: leaq xsrc, %rax
+; LINUX-64-STATIC: movl $xsrc, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @dst to i8*)
; LINUX-64-STATIC: bar01:
-; LINUX-64-STATIC: leaq dst, %rax
+; LINUX-64-STATIC: movl $dst, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([32 x i32]* @xdst to i8*)
; LINUX-64-STATIC: bxr01:
-; LINUX-64-STATIC: leaq xdst, %rax
+; LINUX-64-STATIC: movl $xdst, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32** @ptr to i8*)
; LINUX-64-STATIC: bar02:
-; LINUX-64-STATIC: leaq ptr, %rax
+; LINUX-64-STATIC: movl $ptr, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @dsrc to i8*)
; LINUX-64-STATIC: bar03:
-; LINUX-64-STATIC: leaq dsrc, %rax
+; LINUX-64-STATIC: movl $dsrc, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @ddst to i8*)
; LINUX-64-STATIC: bar04:
-; LINUX-64-STATIC: leaq ddst, %rax
+; LINUX-64-STATIC: movl $ddst, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32** @dptr to i8*)
; LINUX-64-STATIC: bar05:
-; LINUX-64-STATIC: leaq dptr, %rax
+; LINUX-64-STATIC: movl $dptr, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @lsrc to i8*)
; LINUX-64-STATIC: bar06:
-; LINUX-64-STATIC: leaq lsrc, %rax
+; LINUX-64-STATIC: movl $lsrc, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @ldst to i8*)
; LINUX-64-STATIC: bar07:
-; LINUX-64-STATIC: leaq ldst, %rax
+; LINUX-64-STATIC: movl $ldst, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32** @lptr to i8*)
; LINUX-64-STATIC: bar08:
-; LINUX-64-STATIC: leaq lptr, %rax
+; LINUX-64-STATIC: movl $lptr, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @src to i8*)
; LINUX-64-STATIC: har00:
-; LINUX-64-STATIC: leaq src, %rax
+; LINUX-64-STATIC: movl $src, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([32 x i32]* @xsrc to i8*)
; LINUX-64-STATIC: hxr00:
-; LINUX-64-STATIC: leaq xsrc, %rax
+; LINUX-64-STATIC: movl $xsrc, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @dst to i8*)
; LINUX-64-STATIC: har01:
-; LINUX-64-STATIC: leaq dst, %rax
+; LINUX-64-STATIC: movl $dst, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([32 x i32]* @xdst to i8*)
; LINUX-64-STATIC: hxr01:
-; LINUX-64-STATIC: leaq xdst, %rax
+; LINUX-64-STATIC: movl $xdst, %eax
; LINUX-64-STATIC: ret
}
%1 = bitcast i32* %0 to i8*
ret i8* %1
; LINUX-64-STATIC: har02:
-; LINUX-64-STATIC: movq ptr, %rax
+; LINUX-64-STATIC: movq ptr(%rip), %rax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @dsrc to i8*)
; LINUX-64-STATIC: har03:
-; LINUX-64-STATIC: leaq dsrc, %rax
+; LINUX-64-STATIC: movl $dsrc, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @ddst to i8*)
; LINUX-64-STATIC: har04:
-; LINUX-64-STATIC: leaq ddst, %rax
+; LINUX-64-STATIC: movl $ddst, %eax
; LINUX-64-STATIC: ret
}
%1 = bitcast i32* %0 to i8*
ret i8* %1
; LINUX-64-STATIC: har05:
-; LINUX-64-STATIC: movq dptr, %rax
+; LINUX-64-STATIC: movq dptr(%rip), %rax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @lsrc to i8*)
; LINUX-64-STATIC: har06:
-; LINUX-64-STATIC: leaq lsrc, %rax
+; LINUX-64-STATIC: movl $lsrc, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast ([131072 x i32]* @ldst to i8*)
; LINUX-64-STATIC: har07:
-; LINUX-64-STATIC: leaq ldst, %rax
+; LINUX-64-STATIC: movl $ldst, %eax
; LINUX-64-STATIC: ret
}
%1 = bitcast i32* %0 to i8*
ret i8* %1
; LINUX-64-STATIC: har08:
-; LINUX-64-STATIC: movq lptr, %rax
+; LINUX-64-STATIC: movq lptr(%rip), %rax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @src, i32 0, i64 16) to i8*)
; LINUX-64-STATIC: bat00:
-; LINUX-64-STATIC: leaq src+64, %rax
+; LINUX-64-STATIC: movl $src+64, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([32 x i32]* @xsrc, i32 0, i64 16) to i8*)
; LINUX-64-STATIC: bxt00:
-; LINUX-64-STATIC: leaq xsrc+64, %rax
+; LINUX-64-STATIC: movl $xsrc+64, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @dst, i32 0, i64 16) to i8*)
; LINUX-64-STATIC: bat01:
-; LINUX-64-STATIC: leaq dst+64, %rax
+; LINUX-64-STATIC: movl $dst+64, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([32 x i32]* @xdst, i32 0, i64 16) to i8*)
; LINUX-64-STATIC: bxt01:
-; LINUX-64-STATIC: leaq xdst+64, %rax
+; LINUX-64-STATIC: movl $xdst+64, %eax
; LINUX-64-STATIC: ret
}
%2 = bitcast i32* %1 to i8*
ret i8* %2
; LINUX-64-STATIC: bat02:
-; LINUX-64-STATIC: movq ptr, %rax
+; LINUX-64-STATIC: movq ptr(%rip), %rax
; LINUX-64-STATIC: addq $64, %rax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @dsrc, i32 0, i64 16) to i8*)
; LINUX-64-STATIC: bat03:
-; LINUX-64-STATIC: leaq dsrc+64, %rax
+; LINUX-64-STATIC: movl $dsrc+64, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @ddst, i32 0, i64 16) to i8*)
; LINUX-64-STATIC: bat04:
-; LINUX-64-STATIC: leaq ddst+64, %rax
+; LINUX-64-STATIC: movl $ddst+64, %eax
; LINUX-64-STATIC: ret
}
%2 = bitcast i32* %1 to i8*
ret i8* %2
; LINUX-64-STATIC: bat05:
-; LINUX-64-STATIC: movq dptr, %rax
+; LINUX-64-STATIC: movq dptr(%rip), %rax
; LINUX-64-STATIC: addq $64, %rax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @lsrc, i32 0, i64 16) to i8*)
; LINUX-64-STATIC: bat06:
-; LINUX-64-STATIC: leaq lsrc+64, %rax
+; LINUX-64-STATIC: movl $lsrc+64, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @ldst, i32 0, i64 16) to i8*)
; LINUX-64-STATIC: bat07:
-; LINUX-64-STATIC: leaq ldst+64, %rax
+; LINUX-64-STATIC: movl $ldst+64, %eax
; LINUX-64-STATIC: ret
}
%2 = bitcast i32* %1 to i8*
ret i8* %2
; LINUX-64-STATIC: bat08:
-; LINUX-64-STATIC: movq lptr, %rax
+; LINUX-64-STATIC: movq lptr(%rip), %rax
; LINUX-64-STATIC: addq $64, %rax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @src, i32 0, i64 65536) to i8*)
; LINUX-64-STATIC: bam00:
-; LINUX-64-STATIC: leaq src+262144, %rax
+; LINUX-64-STATIC: movl $src+262144, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @dst, i32 0, i64 65536) to i8*)
; LINUX-64-STATIC: bam01:
-; LINUX-64-STATIC: leaq dst+262144, %rax
+; LINUX-64-STATIC: movl $dst+262144, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([32 x i32]* @xdst, i32 0, i64 65536) to i8*)
; LINUX-64-STATIC: bxm01:
-; LINUX-64-STATIC: leaq xdst+262144, %rax
+; LINUX-64-STATIC: movl $xdst+262144, %eax
; LINUX-64-STATIC: ret
}
ret i8* %2
; LINUX-64-STATIC: bam02:
; LINUX-64-STATIC: movl $262144, %eax
-; LINUX-64-STATIC: addq ptr, %rax
+; LINUX-64-STATIC: addq ptr(%rip), %rax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @dsrc, i32 0, i64 65536) to i8*)
; LINUX-64-STATIC: bam03:
-; LINUX-64-STATIC: leaq dsrc+262144, %rax
+; LINUX-64-STATIC: movl $dsrc+262144, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @ddst, i32 0, i64 65536) to i8*)
; LINUX-64-STATIC: bam04:
-; LINUX-64-STATIC: leaq ddst+262144, %rax
+; LINUX-64-STATIC: movl $ddst+262144, %eax
; LINUX-64-STATIC: ret
}
ret i8* %2
; LINUX-64-STATIC: bam05:
; LINUX-64-STATIC: movl $262144, %eax
-; LINUX-64-STATIC: addq dptr, %rax
+; LINUX-64-STATIC: addq dptr(%rip), %rax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @lsrc, i32 0, i64 65536) to i8*)
; LINUX-64-STATIC: bam06:
-; LINUX-64-STATIC: leaq lsrc+262144, %rax
+; LINUX-64-STATIC: movl $lsrc+262144, %eax
; LINUX-64-STATIC: ret
}
entry:
ret i8* bitcast (i32* getelementptr ([131072 x i32]* @ldst, i32 0, i64 65536) to i8*)
; LINUX-64-STATIC: bam07:
-; LINUX-64-STATIC: leaq ldst+262144, %rax
+; LINUX-64-STATIC: movl $ldst+262144, %eax
; LINUX-64-STATIC: ret
}
ret i8* %2
; LINUX-64-STATIC: bam08:
; LINUX-64-STATIC: movl $262144, %eax
-; LINUX-64-STATIC: addq lptr, %rax
+; LINUX-64-STATIC: addq lptr(%rip), %rax
; LINUX-64-STATIC: ret
}
%3 = bitcast i32* %2 to i8*
ret i8* %3
; LINUX-64-STATIC: cat02:
-; LINUX-64-STATIC: movq ptr, %rax
+; LINUX-64-STATIC: movq ptr(%rip), %rax
; LINUX-64-STATIC: leaq 64(%rax,%rdi,4), %rax
; LINUX-64-STATIC: ret
}
%3 = bitcast i32* %2 to i8*
ret i8* %3
; LINUX-64-STATIC: cat05:
-; LINUX-64-STATIC: movq dptr, %rax
+; LINUX-64-STATIC: movq dptr(%rip), %rax
; LINUX-64-STATIC: leaq 64(%rax,%rdi,4), %rax
; LINUX-64-STATIC: ret
}
%3 = bitcast i32* %2 to i8*
ret i8* %3
; LINUX-64-STATIC: cat08:
-; LINUX-64-STATIC: movq lptr, %rax
+; LINUX-64-STATIC: movq lptr(%rip), %rax
; LINUX-64-STATIC: leaq 64(%rax,%rdi,4), %rax
; LINUX-64-STATIC: ret
}
%3 = bitcast i32* %2 to i8*
ret i8* %3
; LINUX-64-STATIC: cam02:
-; LINUX-64-STATIC: movq ptr, %rax
+; LINUX-64-STATIC: movq ptr(%rip), %rax
; LINUX-64-STATIC: leaq 262144(%rax,%rdi,4), %rax
; LINUX-64-STATIC: ret
}
%3 = bitcast i32* %2 to i8*
ret i8* %3
; LINUX-64-STATIC: cam05:
-; LINUX-64-STATIC: movq dptr, %rax
+; LINUX-64-STATIC: movq dptr(%rip), %rax
; LINUX-64-STATIC: leaq 262144(%rax,%rdi,4), %rax
; LINUX-64-STATIC: ret
}
%3 = bitcast i32* %2 to i8*
ret i8* %3
; LINUX-64-STATIC: cam08:
-; LINUX-64-STATIC: movq lptr, %rax
+; LINUX-64-STATIC: movq lptr(%rip), %rax
; LINUX-64-STATIC: leaq 262144(%rax,%rdi,4), %rax
; LINUX-64-STATIC: ret
}
entry:
ret void ()* @callee
; LINUX-64-STATIC: address:
-; LINUX-64-STATIC: leaq callee, %rax
+; LINUX-64-STATIC: movl $callee, %eax
; LINUX-64-STATIC: ret
}
entry:
ret void ()* @lcallee
; LINUX-64-STATIC: laddress:
-; LINUX-64-STATIC: leaq lcallee, %rax
+; LINUX-64-STATIC: movl $lcallee, %eax
; LINUX-64-STATIC: ret
}
entry:
ret void ()* @dcallee
; LINUX-64-STATIC: daddress:
-; LINUX-64-STATIC: leaq dcallee, %rax
+; LINUX-64-STATIC: movl $dcallee, %eax
; LINUX-64-STATIC: ret
}