首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSE2编译错误

SSE2编译错误
EN

Stack Overflow用户
提问于 2009-12-09 16:03:16
回答 1查看 1.1K关注 0票数 2

我试图闯入SSE2,并尝试了下面的示例程序

代码语言:javascript
复制
#include "stdafx.h"    
#include <emmintrin.h>

int main(int argc, char* argv[])
{
__declspec(align(16)) long mul; // multiply variable
__declspec(align(16)) int t1[100000]; // temporary variable
__declspec(align(16)) int t2[100000]; // temporary variable
__m128i mul1, mul2;
 for (int j = 0; j < 100000; j++)
 {
 t1[j] = j;
 t2[j] = j+1;
 } // set temporary variables to random values
 _asm
 {
  mov eax, 0
  label: movdqa xmm0, xmmword ptr [t1+eax]
  movdqa xmm1, xmmword ptr [t2+eax]
  pmuludq xmm0, xmm1
  movdqa mul1, xmm0
  movdqa xmm0, xmmword ptr [t1+eax]
  pshufd xmm0, xmm0, 05fh
  pshufd xmm1, xmm1, 05fh
  muludq xmm0, xmm1
  movdqa mul2, xmm0
  add eax, 16
  cmp eax, 100000
  jnge label
 }
 return 0;
 }

并获得以下警告和错误:

警告C4405:'xmm0‘:标识符是保留字 错误C2400:“操作码”中的内联汇编程序语法错误;找到“xmm0”

我尝试寻找可能的原因,但是大多数分享我的问题的人都使用VisualC++ 6.0,而我使用的是VisualVISUAL8.0。

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-09 16:21:36

如果你改变了,错误就消失了

代码语言:javascript
复制
muludq xmm0, xmm1

代码语言:javascript
复制
pmuludq xmm0, xmm1

你确定你没有错过一次吗?

编辑:事实上,我很确定你是这么做的,因为我从来没有听说过muludq。实际上,我将它替换为and (我知道它不存在),并得到了相同的错误。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1874882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档