Boost logo

Boost :

Subject: Re: [boost] [context] SSE/AVX registers preservation
From: Oliver Kowalke (oliver.kowalke_at_[hidden])
Date: 2013-07-09 03:45:34


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


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