Various Microsoft documentation speaks of a
InterlockedCompareExchange128 function available as a compiler intrinsic
in various incantations of Microsoft compilers (eg Visual Studio
http://msdn.microsoft.com/en-us/library/bb514094.aspx)
I’m using version 6001.18002 of the DDK and can’t seem to find the
function which I assume means it isn’t there. Can anyone tell me if it
is available in a later version of the DDK?
I see that early AMD processors don’t include the necessary CPU smarts
to handle this, but my code will only run on processors new enough to
support virtualization so that won’t be an issue.
James
Undefined in WDK 7600.16385.0 either.
Thanks
Wayne
7600.16385.0 supports it. I’ve just tested it with a dummy driver. You can
also search for “InterlockedCompareExchange128” in \bin\ to see that the
compiler frontend includes it.
On Fri, 11 Dec 2009 07:09:13 +0100, James Harper
wrote:
> Various Microsoft documentation speaks of a
> InterlockedCompareExchange128 function available as a compiler intrinsic
> in various incantations of Microsoft compilers (eg Visual Studio
> http://msdn.microsoft.com/en-us/library/bb514094.aspx)
>
> I’m using version 6001.18002 of the DDK and can’t seem to find the
> function which I assume means it isn’t there. Can anyone tell me if it
> is available in a later version of the DDK?
>
> I see that early AMD processors don’t include the necessary CPU smarts
> to handle this, but my code will only run on processors new enough to
> support virtualization so that won’t be an issue.
>
> James
“James Harper” wrote in message
news:xxxxx@ntdev…
> Various Microsoft documentation speaks of a
> InterlockedCompareExchange128 function available as a compiler intrinsic
> in various incantations of Microsoft compilers (eg Visual Studio
> http://msdn.microsoft.com/en-us/library/bb514094.aspx)
>
> I’m using version 6001.18002 of the DDK and can’t seem to find the
> function which I assume means it isn’t there. Can anyone tell me if it
> is available in a later version of the DDK?
The compiler in WDK 6001 is similar to VC++ 2005.
The compiler in WDK 700x is similar to VC++ 2008.
With this, you can determine from the MSDN documentation which intrinsics
are supported.
Regards,
–pa
> “James Harper” wrote in message
> news:xxxxx@ntdev…
> > Various Microsoft documentation speaks of a
> > InterlockedCompareExchange128 function available as a compiler
intrinsic
> > in various incantations of Microsoft compilers (eg Visual Studio
> > http://msdn.microsoft.com/en-us/library/bb514094.aspx)
> >
> > I’m using version 6001.18002 of the DDK and can’t seem to find the
> > function which I assume means it isn’t there. Can anyone tell me if
it
> > is available in a later version of the DDK?
>
> The compiler in WDK 6001 is similar to VC++ 2005.
> The compiler in WDK 700x is similar to VC++ 2008.
> With this, you can determine from the MSDN documentation which
intrinsics
> are supported.
>
Thanks for that.
James
I upgraded to 7600.16385.0 and it all works fine. I like the automatic
pre-fast that tells you what you need to do after you do a build!
James
It does help, but I have found it to be a real pain. It can’t even handle
their own headers in some cases. I now have it only run on free builds.
ddkbuild.bat has always had the capability to run prefast when desired and
omit it when not requested.
“James Harper” wrote in message
news:xxxxx@ntdev…
I upgraded to 7600.16385.0 and it all works fine. I like the automatic
pre-fast that tells you what you need to do after you do a build!
James