VS2005中的SSE4指令?

时间:2008-12-11 23:00:52

标签: visual-studio-2005 assembly sse

我需要在使用Visual Stdio 2005编译的项目中使用popcnt指令 内在__popcnt()仅适用于VS2008,即使我在__asm {}块中写入,编译器似乎也无法识别该指令。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:3)

好的,这是一个疯狂的猜测但是......假设你已经设置VS2005像this来做汇编语言,那么你可以从英特尔和代码中获得SSE4.1 manual每个SSE4.1操作码的宏,您需要在masm32.com上查看此thread(其中讨论SSE2的类似问题。)

例如,以下是来自masm32链接的下载之一的一些代码:

;SSE2 macros for MASM 6.14 by daydreamer aka Magnus Svensson

ADDPD MACRO M1,M2
    db 066h
    ADDPS M1,M2
ENDM

ADDSD MACRO M1,M2
    DB 0F2H
    ADDPS M1,M2
ENDM

答案 1 :(得分:2)

作为一个小注释,您可以使用__emit将字节放入VC ++中的__asm块。在很多情况下,这比使用masm生成的对象链接更容易。我在过去使用过SSE3是新的(并且VS 2003中不支持操作码)。

所有操作码均为well documented by Intel