This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/14] [x86_64] Vector math functions (vector cos)


2015-05-15 19:32 GMT+03:00 Joseph Myers <joseph@codesourcery.com>:
> On Fri, 15 May 2015, Andrew Senkevich wrote:
>
>> +        movups    %xmm0, 256(%rsp)
>> +        je        .LBL_1_2
>> +
>> +        xorb      %dl, %dl
>> +        xorl      %eax, %eax
>> +        movups    %xmm8, 112(%rsp)
>> +        movups    %xmm9, 96(%rsp)
>> +        movups    %xmm10, 80(%rsp)
>> +        movups    %xmm11, 64(%rsp)
>> +        movups    %xmm12, 48(%rsp)
>> +        movups    %xmm13, 32(%rsp)
>> +        movups    %xmm14, 16(%rsp)
>> +        movups    %xmm15, (%rsp)
>> +        movq      %rsi, 136(%rsp)
>> +        movq      %rdi, 128(%rsp)
>> +        movq      %r12, 168(%rsp)
>> +        movb      %dl, %r12b
>> +        movq      %r13, 160(%rsp)
>> +        movl      %ecx, %r13d
>> +        movq      %r14, 152(%rsp)
>> +        movl      %eax, %r14d
>> +        movq      %r15, 144(%rsp)
>
> The ABI says that r12-r15 are callee-saved registers.  That means you need
> CFI describing when they are saved and restored (and again need
> cfi_remember_state and cfi_restore_state to deal with how some code that's
> physically after the restoration is logically before it, and so needs the
> CFI describing how those registers are saved on the stack).

How to calculate offset for .cfi_offset directive after f.e. movq
%r12, 168(%rsp)?

If not to have %rbp as CFA but stay %rsp, how to specify the proper
CFI after         andq      $-64, %rsp?


--
WBR,
Andrew


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]