search for: rbp

Displaying 20 results from an estimated 1338 matches for "rbp".

Did you mean: ebp
2018 Apr 26
2
windows ABI problem with i128?
...s the breakpoint. Meanwhile on linux, this test passes. I suspect it may be a calling convention issue. Here is the assembly for the linux x86_64 version: ================================================================= 0000000000000010 <_start>: 10: 55 push %rbp 11: 48 89 e5 mov %rsp,%rbp 14: 48 83 ec 40 sub $0x40,%rsp 18: 48 b8 14 30 27 ec 01 movabs $0x1ec273014,%rax 1f: 00 00 00 22: 48 89 45 f8 mov %rax,-0x8(%rbp) 26: 48 b8 ff ff ff ff ff movabs $0xff7377ffffffffff,%...
2017 Mar 15
2
[LLD] Linking static library does not resolve symbols as gold/ld
...by lld crashes, while the gold version runs fine. > > The difference is in the call instructions below. The original object file > from the archive has an address of zero in the call instruction: > > 0000000000013832 <func>: > 13832: 55 push %rbp > 13833: 48 89 e5 mov %rsp,%rbp > 13836: 53 push %rbx > 13837: 48 83 ec 18 sub $0x18,%rsp > 1383b: 48 89 7d e8 mov %rdi,-0x18(%rbp) > 1383f: 48 8b 45 e8 mov...
2012 Mar 02
3
[LLVMdev] how to annotate assembler
Hi, In GCC there is one useful option -dp (or -dP for more verbose output) to annotate assembler with instruction patterns, that was used when assembler was generated. For example: double test(long long s) { return s; } gcc -S -dp -O0 test.c test: .LFB0: .cfi_startproc pushq %rbp # 18 *pushdi2_rex64/1 [length = 1] .cfi_def_cfa_offset 16 movq %rsp, %rbp # 19 *movdi_1_rex64/2 [length = 3] .cfi_offset 6, -16 .cfi_def_cfa_register 6 movq %rdi, -8(%rbp) # 2 *movdi_1_rex64/4 [length = 4] cvtsi2sdq -8(%rbp), %xmm0 # 6 *floatdidf2_sse_interunit/2 [length = 6]...
2018 Apr 26
0
windows ABI problem with i128?
..., this test passes. > > I suspect it may be a calling convention issue. Here is the assembly for the > linux x86_64 version: > > > ================================================================= > 0000000000000010 <_start>: > 10: 55 push %rbp > 11: 48 89 e5 mov %rsp,%rbp > 14: 48 83 ec 40 sub $0x40,%rsp > 18: 48 b8 14 30 27 ec 01 movabs $0x1ec273014,%rax > 1f: 00 00 00 > 22: 48 89 45 f8 mov %rax,-0x8(%rbp) > 26: 48 b8 ff ff ff ff ff...
2018 Apr 12
3
[RFC] __builtin_constant_p() Improvements
...i_startproc # %bb.0: # %entry testl %edi, %edi movl $927, %ecx # imm = 0x39F movl $1, %eax cmovel %ecx, %eax retq And this code at -O0: bar: # @bar .cfi_startproc # %bb.0: # %entry pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset %rbp, -16 movq %rsp, %rbp .cfi_def_cfa_register %rbp movl %edi, -16(%rbp) cmpl $0, -16(%rbp) je .LBB0_2 # %bb.1: # %if.then movl $42, -8(%rbp) movl $0, -4(%rbp) movl -4(%rbp), %eax movl %eax, -12(%rbp) jmp .LBB0_3 .LBB0_2:...
2018 Apr 26
1
windows ABI problem with i128?
...pect it may be a calling convention issue. Here is the assembly for > the > > linux x86_64 version: > > > > > > ================================================================= > > 0000000000000010 <_start>: > > 10: 55 push %rbp > > 11: 48 89 e5 mov %rsp,%rbp > > 14: 48 83 ec 40 sub $0x40,%rsp > > 18: 48 b8 14 30 27 ec 01 movabs $0x1ec273014,%rax > > 1f: 00 00 00 > > 22: 48 89 45 f8 mov %rax,-0x8(%rbp) > >...
2017 Mar 15
2
[LLD] Linking static library does not resolve symbols as gold/ld
On Wed, Mar 15, 2017 at 2:22 PM, Martin Richtarsky <s at martinien.de> wrote: > Here is the relevant output: > > 0000000000013832 <func()>: > 13832: 55 push %rbp > 13833: 48 89 e5 mov %rsp,%rbp > 13836: 53 push %rbx > 13837: 48 83 ec 18 sub $0x18,%rsp > 1383b: 48 89 7d e8 mov %rdi,-0x18(%rbp) > 1383f: 48 8b 45 e8 mov...
2012 Mar 01
3
[LLVMdev] Stack alignment on X86 AVX seems incorrect
...quot;llvmdev at cs.uiuc.edu" <llvmdev at cs.uiuc.edu> Message-ID: <A0DC88CEB3010344830D52D66533DA8E0C2E7A at HASMSX103.ger.corp.intel.com> Content-Type: text/plain; charset="windows-1252" ./llc -mattr=+avx -stack-alignment=16 < basic.ll | grep movaps | grep ymm | grep rbp vmovaps -176(%rbp), %ymm14 vmovaps -144(%rbp), %ymm11 vmovaps -240(%rbp), %ymm13 vmovaps -208(%rbp), %ymm9 vmovaps -272(%rbp), %ymm7 vmovaps -304(%rbp), %ymm0 vmovaps -112(%rbp), %ymm0 vmovaps -80(%rbp), %ymm1 vmovaps -112(%rbp), %ymm0...
2012 Jun 30
2
[LLVMdev] gcc bug?..segfault problem with getElfArchType.
...quot; FWIW I'm compiling on x86_64/gcc-4.7.1. This is the assembly, (widen your email window!) Broken: Call side ObjectFile *ObjectFile::createELFObjectFile(MemoryBuffer *Object) { 0x00000000004cc864 <_ZN4llvm6object10ObjectFile19createELFObjectFileEPNS_12MemoryBufferE>: push %rbp 0x00000000004cc865 <_ZN4llvm6object10ObjectFile19createELFObjectFileEPNS_12MemoryBufferE+1>: mov %rsp,%rbp 0x00000000004cc868 <_ZN4llvm6object10ObjectFile19createELFObjectFileEPNS_12MemoryBufferE+4>: push %rbx 0x00000000004cc869 <_ZN4llvm6object10ObjectFile19createELFObje...
2012 Mar 02
0
[LLVMdev] how to annotate assembler
...ssembler was generated. For example: The internal "-mllvm -show-mc-inst" option is probably as close as you can get. $ clang -S -O0 test.c -mllvm -show-mc-inst -o - _test: ## @test .cfi_startproc ## BB#0: ## %entry pushq %rbp ## <MCInst #2120 PUSH64r ## <MCOperand Reg:106>> Ltmp2: .cfi_def_cfa_offset 16 Ltmp3: .cfi_offset %rbp, -16 movq %rsp, %rbp ## <MCInst #1491 MOV64rr ## <MCOperand R...
2019 Feb 05
2
clang emits calls to consexpr function.
...low testcase $cat test.cpp constexpr int product() { return 10*20; } int main() { const int x = product(); return 0; } $./clang test.cpp -std=c++11 -S $./clang -v clang version 9.0.0 Target: x86_64-unknown-linux-gnu $cat test.s main: .cfi_startproc # %bb.0: pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset %rbp, -16 movq %rsp, %rbp .cfi_def_cfa_register %rbp subq $16, %rsp movl $0, -4(%rbp) callq _Z7productv //here you can see the calls to product function xorl %ecx, %ecx movl...
2017 Mar 23
2
[LLD] Linking static library does not resolve symbols as gold/ld
...artin Richtarsky <s at martinien.de> wrote: > Hi Rui, > > fyi I'm still working on a reproducer I can share. > > >> Here is the relevant output: > >> > >> 0000000000013832 <func()>: > >> 13832: 55 push %rbp > >> 13833: 48 89 e5 mov %rsp,%rbp > >> 13836: 53 push %rbx > >> 13837: 48 83 ec 18 sub $0x18,%rsp > >> 1383b: 48 89 7d e8 mov %rdi,-0x18(%rbp) > >&gt...
2016 May 29
4
[cfe-dev] How to debug if LTO generate wrong code?
...mble 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...
2013 Aug 08
0
[LLVMdev] Address space extension
...= load i32* %1, align 4, !tbaa !0 ret i32 %2 } Note that in loadgs2, the call to toglobal has been inlined and so the back end will just see a bitcast, which SelectionDAG treats as a no-op. The assembly we get from this is: _toglobal: ## @toglobal ## BB#0: pushq %rbp movq %rsp, %rbp movq %rdi, %rax popq %rbp ret load: ## @load ## BB#0: pushq %rbp movq %rsp, %rbp movl (%rdi), %eax popq %rbp ret .globl _loadgs .align 4, 0x90 loadgs: ## @loadgs ## BB#0: pushq %rbp movq %rsp, %rbp movl %...
2014 Sep 11
2
[LLVMdev] Fail to load a pointer to a function inside MCJIT-ed code when it is reload from ObjectCache
...as following and it runs OK. 0x7fe4801fa1f8 at instruction 0x00007fe4cc6c2014 points to 0x69382E which is the beginning of ExecEvalVar function. Then I save the object code into a file after implementing notifyObjectCompiled method. IrExprGetValue: 0x00007fe4cc6c2000: push %rbp 0x00007fe4cc6c2001: mov %rsp,%rbp 0x00007fe4cc6c2004: mov 0x10(%rdi),%rax 0x00007fe4cc6c2008: pop %rbp 0x00007fe4cc6c2009: jmpq *%rax 0x00007fe4cc6c200b: nopl 0x0(%rax,%rax,1) JittedOpExpr: 0x00007fe4cc6c2010: push %rbp 0x00007fe4cc6c2011: mov %rsp,%rbp *0x00007fe4...
2014 Dec 08
2
[LLVMdev] Virtual register problem in X86 backend
...6::MOV64rr)).addReg(regA).addReg(X86::RSP); // Check condition BuildMI(*MBB_cond, MBB_cond->end(), db, TII->get(X86::PHI), regB).addReg(regA).addMBB(MBB).addReg(regC).addMBB(MBB_erase); BuildMI(*MBB_cond, MBB_cond->end(), db, TII->get(X86::CMP64rr)).addReg(regB).addReg(X86::RBP); BuildMI(*MBB_cond, MBB_cond->end(), db, TII->get(X86::JE_4)).addMBB(MBB_end); // mov dword[reg], 0x0 BuildMI(*MBB_erase, MBB_erase->end(), db, TII->get(X86::MOV32mi)).addReg(regB).addImm(1).addReg(0).addImm(0).addReg(0).addImm(0); BuildMI(*MBB_erase, MBB_erase->end(...
2016 May 30
0
[cfe-dev] How to debug if LTO generate wrong code?
..., the code need to run in high address (larger than 2 GB) is a reasonable requirement. $ gcc -g -O0 -flto codemodel1.c -mcmodel=large -o codemodel1_large_lto_gcc.bin $ objdump -dS codemodel1_large_lto_gcc.bin int main(int argc, const char* argv[]) { 40048b: 55 push %rbp 40048c: 48 89 e5 mov %rsp,%rbp 40048f: 48 83 ec 20 sub $0x20,%rsp 400493: 89 7d ec mov %edi,-0x14(%rbp) 400496: 48 89 75 e0 mov %rsi,-0x20(%rbp) int t = global_func(argc); 40049a: 8b 45 ec...
2018 Apr 13
0
[RFC] __builtin_constant_p() Improvements
...ry > testl %edi, %edi > movl $927, %ecx # imm = 0x39F > movl $1, %eax > cmovel %ecx, %eax > retq > > And this code at -O0: > > bar: # @bar > .cfi_startproc > # %bb.0: # %entry > pushq %rbp > .cfi_def_cfa_offset 16 > .cfi_offset %rbp, -16 > movq %rsp, %rbp > .cfi_def_cfa_register %rbp > movl %edi, -16(%rbp) > cmpl $0, -16(%rbp) > je .LBB0_2 > # %bb.1: # %if.then > movl $42, -8(%rbp) > movl $0, -4(%rbp) > movl -4(%rbp), %e...
2016 May 30
2
[cfe-dev] How to debug if LTO generate wrong code?
...g? Are you building your own clang? -- Mehdi > > $ gcc -g -O0 -flto codemodel1.c -mcmodel=large -o codemodel1_large_lto_gcc.bin > $ objdump -dS codemodel1_large_lto_gcc.bin > > int main(int argc, const char* argv[]) > { > 40048b: 55 push %rbp > 40048c: 48 89 e5 mov %rsp,%rbp > 40048f: 48 83 ec 20 sub $0x20,%rsp > 400493: 89 7d ec mov %edi,-0x14(%rbp) > 400496: 48 89 75 e0 mov %rsi,-0x20(%rbp) > int t = global_func(argc);...
2012 Mar 01
0
[LLVMdev] Stack alignment on X86 AVX seems incorrect
...03.ger.corp.intel.com >> <mailto:A0DC88CEB3010344830D52D66533DA8E0C2E7A at HASMSX103.ger.corp.intel.com>> >> Content-Type: text/plain; charset="windows-1252" >> >> ./llc -mattr=+avx -stack-alignment=16 < basic.ll | grep movaps | grep >> ymm | grep rbp >> vmovaps -176(%rbp), %ymm14 >> vmovaps -144(%rbp), %ymm11 >> vmovaps -240(%rbp), %ymm13 >> vmovaps -208(%rbp), %ymm9 >> vmovaps -272(%rbp), %ymm7 >> vmovaps -304(%rbp), %ymm0 >> vmovaps -112(%rbp), %ymm0 &g...