diff DEPENDENCIES/generic/include/boost/multiprecision/detail/bitscan.hpp @ 101:c530137014c0

Update Boost headers (1.58.0)
author Chris Cannam
date Mon, 07 Sep 2015 11:12:49 +0100
parents 2665513ce2d3
children
line wrap: on
line diff
--- a/DEPENDENCIES/generic/include/boost/multiprecision/detail/bitscan.hpp	Fri Sep 04 12:01:02 2015 +0100
+++ b/DEPENDENCIES/generic/include/boost/multiprecision/detail/bitscan.hpp	Mon Sep 07 11:12:49 2015 +0100
@@ -8,6 +8,10 @@
 #ifndef BOOST_MP_DETAIL_BITSCAN_HPP
 #define BOOST_MP_DETAIL_BITSCAN_HPP
 
+#if defined(BOOST_MSVC) && (defined(_M_IX86) || defined(_M_X64))
+#include <Intrin.h>
+#endif
+
 namespace boost{ namespace multiprecision{ namespace detail{
 
 template <class Unsigned>
@@ -35,6 +39,9 @@
 }
 
 #if defined(BOOST_MSVC) && (defined(_M_IX86) || defined(_M_X64))
+
+#pragma intrinsic(_BitScanForward,_BitScanReverse)
+
 BOOST_FORCEINLINE unsigned find_lsb(unsigned long mask, const mpl::int_<1>&)
 {
    unsigned long result;
@@ -49,6 +56,9 @@
    return result;
 }
 #ifdef _M_X64
+
+#pragma intrinsic(_BitScanForward64,_BitScanReverse64)
+
 BOOST_FORCEINLINE unsigned find_lsb(unsigned __int64 mask, const mpl::int_<2>&)
 {
    unsigned long result;