As far as I know, it looks like someone intended to change some MSVC ++ settings. However, this parameter is not valid for internal pragma . _ m_prefetchw , on the other hand, is 3D Now! internal function.
Like all compiler built-in functions, it provides (possibly) faster build instructions supported by the underlying hardware, your C or C ++ application in a way
a. more consistent with optimizers and
B. more consistent with the language compared to using the built-in assembly.
In MSVC on x86_64 / x64 / amd64 systems, the built-in assembly is not supported, therefore, to access the whizzbang functions of the underlying equipment, you must use such built-in functions.
Finally, it should be noted that _ m_prefetchw is 3D now! Built-in and 3D now! only supported on AMD hardware. This is probably not what you want to use for the new code (i.e., instead, you should use the SSE, which works on both Intel and AMD hardware, and has more download options).
source share