Boost logo

Boost Users :

From: John Maddock (jz.maddock_at_[hidden])
Date: 2021-08-18 17:25:21


On 18/08/2021 17:23, Neill Clift via Boost-users wrote:
>
> Hi,
>
> In my program I am seeing my code use the slower (I assume)
> subtract_unsigned_constexpr rather than subtract_unsigned with he
> borrow chain handled intrinsics.
>
> This seems to be happening because of these lines in intel_intrinsics.hpp:
>
> #if defined(__clang__) && (__clang__ < 9)
>
> // We appear to crash the compiler if we try to use these intrinsics?
>
> #undef BOOST_MP_HAS_IMMINTRIN_H
>
> #endif
>
> __clang__ is not the version but just the value 1. I expect this
> should be the major version instead:
>
Good catch, see https://github.com/boostorg/multiprecision/pull/356

> #define __clang__ 1
>
> #define __clang_major__ 12
>
> #define __clang_minor__ 0
>
> As an aside 128bit support does work in windows with clang. I have to
> force it on like this:
>
> #define __STRICT_ANSI__
>
> #define BOOST_HAS_INT128
>
> #define BOOST_MP_HAS_IMMINTRIN_H
>
> #include <boost/multiprecision/cpp_int.hpp>
>
I'll look at that separately, thanks John.

-- 
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net