On Tue, Feb 14, 2012 at 8:52 PM, Richard Henderson wrote:
> On 02/14/2012 10:26 AM, Uros Bizjak wrote:
>> #ifdef __x86_64__
>> + cfi_def_cfa(%rsi, 0)
>> movq (%rsi), %rcx
>> movq 8(%rsi), %rbx
>> movq 16(%rsi), %rbp
>> @@ -119,20 +120,21 @@
>> movq 32(%rsi)
On 02/14/2012 10:26 AM, Uros Bizjak wrote:
> #ifdef __x86_64__
> + cfi_def_cfa(%rsi, 0)
> movq(%rsi), %rcx
> movq8(%rsi), %rbx
> movq16(%rsi), %rbp
> @@ -119,20 +120,21 @@
> movq32(%rsi), %r13
> movq40(%rsi), %r14
> movq48(%rsi), %r15
On Tue, Feb 14, 2012 at 7:07 PM, Richard Henderson wrote:
> On 02/13/2012 11:54 PM, Uros Bizjak wrote:
>> movq 48(%rsi), %r15
>> - movq 56(%rsi), %rdx
>> movl %edi, %eax
>> + cfi_offset(%rip, 56)
>> cfi_def_cfa(%rcx, 0)
>> - cfi_register(%rip, %rdx)
>>
On 02/13/2012 11:54 PM, Uros Bizjak wrote:
> movq48(%rsi), %r15
> - movq56(%rsi), %rdx
> movl%edi, %eax
> + cfi_offset(%rip, 56)
> cfi_def_cfa(%rcx, 0)
> - cfi_register(%rip, %rdx)
> movq%rcx, %rsp
> - jmp *%rdx
> + jmp *56(%rsi)
On Tue, Feb 14, 2012 at 8:39 AM, Uros Bizjak wrote:
- cfi_register(%rip, %rdx)
+ cfi_offset(%rip, 56)
>>>
>>> Hm, we just defined new CFA as rcx+0, so we should define location of
>>> rip relative to new CFA. Since CFA points to stack slot just before
>>> return address was pushed, new
On Tue, Feb 14, 2012 at 1:15 AM, Richard Henderson wrote:
- movq 56(%rsi), %rdx
movl %edi, %eax
cfi_def_cfa(%rcx, 0)
- cfi_register(%rip, %rdx)
movq %rcx, %rsp
- jmp *%rdx
+ jmp *56(%rsi)
>>>
>>> If you're going
On 02/13/2012 04:09 PM, Uros Bizjak wrote:
> On Mon, Feb 13, 2012 at 11:57 PM, Richard Henderson wrote:
>> On 02/13/2012 02:54 PM, Uros Bizjak wrote:
>>> - movq56(%rsi), %rdx
>>> movl%edi, %eax
>>> cfi_def_cfa(%rcx, 0)
>>> - cfi_register(%rip, %rdx)
>>> movq%r
On Mon, Feb 13, 2012 at 11:57 PM, Richard Henderson wrote:
> On 02/13/2012 02:54 PM, Uros Bizjak wrote:
>> - movq 56(%rsi), %rdx
>> movl %edi, %eax
>> cfi_def_cfa(%rcx, 0)
>> - cfi_register(%rip, %rdx)
>> movq %rcx, %rsp
>> - jmp *%rdx
>> + jmp *5
On 02/13/2012 02:54 PM, Uros Bizjak wrote:
> - movq56(%rsi), %rdx
> movl%edi, %eax
> cfi_def_cfa(%rcx, 0)
> - cfi_register(%rip, %rdx)
> movq%rcx, %rsp
> - jmp *%rdx
> + jmp *56(%rsi)
If you're going to do that, the correct fix for the unwind i
Hello!
We can jump indirect from memory address, sparing a couple of cycles.
2012-02-14 Uros Bizjak
* config/x86/target.h (GTM_longjmp): Jump indirect from memory address.
Tested on x86_64-pc-linux-gnu {,-m32}.
OK for mainline?
Uros.
Index: config/x86/sjlj.S
===
10 matches
Mail list logo