Boost logo

Boost :

Subject: Re: [boost] [context] SSE/AVX registers preservation
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2013-07-09 04:04:55


On Tue, Jul 9, 2013 at 11:45 AM, Oliver Kowalke
<oliver.kowalke_at_[hidden]> wrote:
> 2013/7/9 Andrey Semashev <andrey.semashev_at_[hidden]>
>
>> I've been looking at Boost.Context and wondering whether it preserves
>> SSE/AVX state on context switches. From the code it doesn't look like
>> the case - only jump_x86_64_ms_pe_masm.asm contains the code that
>> saves some (not all) xmm registers and ymm registers are never saved.
>> Is this intentional or the library simply doesn't support SSE/AVX? And
>> why not use xsave/xrstor to consistently support all future
>> extensions?
>>
>
> boost.context preserves only non-volatile registers as described by the ABI.
> take a look at
> http://www.boost.org/doc/libs/1_54_0/libs/context/doc/html/context/rationale/x86_and_floating_point_env.html

I see. Thanks.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk