Boost logo

Boost :

Subject: Re: [boost] [dynamic_bitset] Using of GCC built-in functions may increase performance of some methods
From: Marshall Clow (mclow.lists_at_[hidden])
Date: 2018-08-26 15:18:20


On Sat, Aug 25, 2018 at 11:55 PM, degski <degski_at_[hidden]> wrote:

> On Sun, 26 Aug 2018 at 04:42, Marshall Clow via Boost <
> boost_at_[hidden]> wrote:
>
>> The MSVC intrinsics are missing (for my purposes) important things - like
>> "noexcept" and "constexpr".
>>
>
> They are C-"functions", they "are" noexcept, you can mark any
> C++-function containing calls to those intrinsics noexcept, and you won't
> be lying. The constexpr bit depends on what the C++-compiler does with
> those intrinsic calls, with some exceptions, most intrinsics map to exactly
> one assembler instruction, i.e. there is no reason why they could not be
> constexpr (but that is a C++-concept).
>
>
They certainly *could be*, but they are not.

BTW, the mapping to one assembler instruction is irrelevant for constexpr;
rather the question is "does the compiler know how to evaluate that at
compile time".

-- Marshall


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