Displaying 13 results from an estimated 13 matches for "4004f0".
Did you mean:
400400
2014 Oct 13
2
[LLVMdev] Unexpected spilling of vector register during lane extraction on some x86_64 targets
...nding on which
version of the integer lane accessor was used.
Output from clang 3.4 for target corei7-avx:
$ clang++ test.cpp -O3 -fstrict-aliasing -funroll-loops -ffast-math
-march=native -mtune=native -DSPILLING_ENSUES=0 /* no spilling */
$ objdump -dC --no-show-raw-insn ./a.out
...
00000000004004f0 <main>:
4004f0: vmovdqa 0x2004c8(%rip),%xmm0 # 6009c0 <x>
4004f8: vpsrld $0x17,%xmm0,%xmm0
4004fd: vpaddd 0x17b(%rip),%xmm0,%xmm0 # 400680
<__dso_handle+0x8>
400505: vcvtdq2ps %xmm0,%xmm1
400509: vdivps 0x17f(%rip),%xmm1,%xmm1 # 400690
<...
2016 May 29
0
[cfe-dev] How to debug if LTO generate wrong code?
...n and codemodel1_small_lto.bin are exactly the same!
And if you disassemble the codemodel1_large_lto.bin, you will see it uses the small code model (32-bit RIP-relative), not large, to do addressing as below.
$ objdump -dS codemodel1_large_lto.bin
int main(int argc, const char* argv[])
{
4004f0: 55 push %rbp
4004f1: 48 89 e5 mov %rsp,%rbp
4004f4: 48 83 ec 20 sub $0x20,%rsp
4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
4004ff: 89 7d f8 mov %edi,-0x8(%rbp)
400502:...
2016 May 29
4
[cfe-dev] How to debug if LTO generate wrong code?
...are exactly the same!
> And if you disassemble the codemodel1_large_lto.bin, you will see it uses the small code model (32-bit RIP-relative), not large, to do addressing as below.
>
> $ objdump -dS codemodel1_large_lto.bin
>
> int main(int argc, const char* argv[])
> {
> 4004f0: 55 push %rbp
> 4004f1: 48 89 e5 mov %rsp,%rbp
> 4004f4: 48 83 ec 20 sub $0x20,%rsp
> 4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
> 4004ff: 89 7d f8 mov %edi,-0x8(%...
2016 May 17
2
[cfe-dev] How to debug if LTO generate wrong code?
> On May 17, 2016, at 11:21 AM, Umesh Kalappa <umesh.kalappa0 at gmail.com> wrote:
>
> Steven,
>
> As mehdi stated , the optimisation level is specific to linker and it
> enables Inter-Pro opts passes ,please refer function
To be very clear: the -O option may trigger *linker* optimizations as well, independently of LTO.
--
Mehdi
>
>
2016 May 30
0
[cfe-dev] How to debug if LTO generate wrong code?
..._lto.bin and codemodel1_small_lto.bin are exactly the same!
And if you disassemble the codemodel1_large_lto.bin, you will see it uses the small code model (32-bit RIP-relative), not large, to do addressing as below.
$ objdump -dS codemodel1_large_lto.bin
int main(int argc, const char* argv[])
{
4004f0: 55 push %rbp
4004f1: 48 89 e5 mov %rsp,%rbp
4004f4: 48 83 ec 20 sub $0x20,%rsp
4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
4004ff: 89 7d f8 mov %edi,-0x8(%rbp)
400502:...
2016 May 30
2
[cfe-dev] How to debug if LTO generate wrong code?
...are exactly the same!
> And if you disassemble the codemodel1_large_lto.bin, you will see it uses the small code model (32-bit RIP-relative), not large, to do addressing as below.
>
> $ objdump -dS codemodel1_large_lto.bin
>
> int main(int argc, const char* argv[])
> {
> 4004f0: 55 push %rbp
> 4004f1: 48 89 e5 mov %rsp,%rbp
> 4004f4: 48 83 ec 20 sub $0x20,%rsp
> 4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
> 4004ff: 89 7d f8 mov %edi,-0x8(%...
2016 May 30
0
[cfe-dev] How to debug if LTO generate wrong code?
...xactly the same!
> And if you disassemble the codemodel1_large_lto.bin, you will see it uses
> the small code model (32-bit RIP-relative), not large, to do addressing as
> below.
>
> $ objdump -dS codemodel1_large_lto.bin
>
> int main(int argc, const char* argv[])
> {
> 4004f0: 55 push %rbp
> 4004f1: 48 89 e5 mov %rsp,%rbp
> 4004f4: 48 83 ec 20 sub $0x20,%rsp
> 4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
> 4004ff: 89 7d f8 mov %edi,-0x8(%...
2016 May 30
0
[cfe-dev] How to debug if LTO generate wrong code?
..._lto.bin and codemodel1_small_lto.bin are exactly the same!
And if you disassemble the codemodel1_large_lto.bin, you will see it uses the small code model (32-bit RIP-relative), not large, to do addressing as below.
$ objdump -dS codemodel1_large_lto.bin
int main(int argc, const char* argv[])
{
4004f0: 55 push %rbp
4004f1: 48 89 e5 mov %rsp,%rbp
4004f4: 48 83 ec 20 sub $0x20,%rsp
4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
4004ff: 89 7d f8 mov %edi,-0x8(%rbp)
400502:...
2016 May 30
7
[cfe-dev] How to debug if LTO generate wrong code?
...are exactly the same!
> And if you disassemble the codemodel1_large_lto.bin, you will see it uses the small code model (32-bit RIP-relative), not large, to do addressing as below.
>
> $ objdump -dS codemodel1_large_lto.bin
>
> int main(int argc, const char* argv[])
> {
> 4004f0: 55 push %rbp
> 4004f1: 48 89 e5 mov %rsp,%rbp
> 4004f4: 48 83 ec 20 sub $0x20,%rsp
> 4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
> 4004ff: 89 7d f8 mov %edi,-0x8(%...
2016 May 30
0
[cfe-dev] How to debug if LTO generate wrong code?
..._lto.bin and codemodel1_small_lto.bin are exactly the same!
And if you disassemble the codemodel1_large_lto.bin, you will see it uses the small code model (32-bit RIP-relative), not large, to do addressing as below.
$ objdump -dS codemodel1_large_lto.bin
int main(int argc, const char* argv[])
{
4004f0: 55 push %rbp
4004f1: 48 89 e5 mov %rsp,%rbp
4004f4: 48 83 ec 20 sub $0x20,%rsp
4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
4004ff: 89 7d f8 mov %edi,-0x8(%rbp)
400502:...
2016 May 30
1
[cfe-dev] How to debug if LTO generate wrong code?
...semble the codemodel1_large_lto.bin, you will see it uses
> > the small code model (32-bit RIP-relative), not large, to do addressing as
> > below.
> >
> > $ objdump -dS codemodel1_large_lto.bin
> >
> > int main(int argc, const char* argv[])
> > {
> > 4004f0: 55 push %rbp
> > 4004f1: 48 89 e5 mov %rsp,%rbp
> > 4004f4: 48 83 ec 20 sub $0x20,%rsp
> > 4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
> > 4004ff: 89 7d f8 mov %edi,-0x8(%rbp)
> > 400502: 48 89 75 f0 mov %rsi,-0x10(%rbp)
> > int t = global_func(argc);
>...
2016 May 30
2
[cfe-dev] How to debug if LTO generate wrong code?
...are exactly the same!
> And if you disassemble the codemodel1_large_lto.bin, you will see it uses the small code model (32-bit RIP-relative), not large, to do addressing as below.
>
> $ objdump -dS codemodel1_large_lto.bin
>
> int main(int argc, const char* argv[])
> {
> 4004f0: 55 push %rbp
> 4004f1: 48 89 e5 mov %rsp,%rbp
> 4004f4: 48 83 ec 20 sub $0x20,%rsp
> 4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
> 4004ff: 89 7d f8 mov %edi,-0x8(%...
2016 May 30
0
[cfe-dev] How to debug if LTO generate wrong code?
..._lto.bin and codemodel1_small_lto.bin are exactly the same!
And if you disassemble the codemodel1_large_lto.bin, you will see it uses the small code model (32-bit RIP-relative), not large, to do addressing as below.
$ objdump -dS codemodel1_large_lto.bin
int main(int argc, const char* argv[])
{
4004f0: 55 push %rbp
4004f1: 48 89 e5 mov %rsp,%rbp
4004f4: 48 83 ec 20 sub $0x20,%rsp
4004f8: c7 45 fc 00 00 00 00 movl $0x0,-0x4(%rbp)
4004ff: 89 7d f8 mov %edi,-0x8(%rbp)
400502:...