社区
汇编语言
帖子详情
为了能使用movdqa,我在new一个byte[]的时候应该怎么做?
Viskag
2010-08-06 10:27:47
#define ALIGN16( x ) __declspec(align(16)) x
...
...
BYTE* abc = new BYTE[1024];//在new的时候如何指定对齐ALIGN16?
...
...
--asm
{
mov esi, abc
movdqa xmm0,[esi]
...
}
...全文
156
3
打赏
收藏
为了能使用movdqa,我在new一个byte[]的时候应该怎么做?
#define ALIGN16( x ) __declspec(align(16)) x ... ... BYTE* abc = new BYTE[1024];//在new的时候如何指定对齐ALIGN16? ... ... --asm { mov esi, abc movdqa xmm0,[esi] ... }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Viskag
2010-08-09
打赏
举报
回复
那我以后就用movdqu了
日立奔腾浪潮微软松下联想
2010-08-06
打赏
举报
回复
__declspec(align(16))不通用的,只适用于VC++。
这样定义就可以了:
__declspec(align(16)) unsigned char buf[1024];
unsigned char *pbuf = (unsigned char *)&buf;
注意这样定义保证不了16字节对齐:
__declspec(align(16)) unsigned char *buf = new unsigned char[1024];
动态分配的话,是可以写个宏来自动完成,但是释放的时候会有问题,所以就别动态分配了。
其实用movedqu就好了,不需要16字节对齐,不对齐地址访问并没有明显的性能差距,除非超过cache大小的内存访问,那样应该用movntdqa/movntdq。
zara
2010-08-06
打赏
举报
回复
不能确保或没有其它方法的话,就多分配个 16 字节,然后自己计算起始地址对齐到下一 16 处。
【优化系列】汇编指令
movdqa
与movdqu的区别
本文介绍了汇编指令中的
movdqa
和movdqu,详细解析了它们在移动双四字数据时的不同,特别是在内存对齐要求上的区别。
movdqa
要求16字节对齐,否则会导致#GP异常;而movdqu则允许非对齐的内存操作。
汇编指令
movdqa
与movdqu的区别
本文详细介绍了
MOVDQA
指令的功能及
使用
场景。该指令用于在XMM寄存器与128位内存位置之间,或是两个XMM寄存器之间进行双四字的移动操作。特别强调了操作数必须对齐16字节边界的要求,以及在未对齐情况下
使用
MOVDQU指令的替代方案。
汇编——SSE打包整数
本文展示了如何
使用
SSE指令在IntelSSE架构上执行整数向量的加法操作,并演示了
movdqa
、padd、pextrd和pinsrd等指令在内存操作中的应用。
intrin用起来有点不方便哦
文章描述了一段C++代码,其中
使用
了__declspec(align)进行内存对齐,并在循环中应用_mm_cmpestri和
movdqa
指令处理字符串。当循环进入第二轮时,由于地址不再16字节对齐导致
movdqa
指令出错。解决方案是创建
一个
ASM文件,直接
使用
pcmpestri和movdqu指令来避免对齐问题。
linux64位系统中g++4.4.7下
使用
wcsncpy函数有造成段错误的BUG(其它g++版本号未知)
本文发现并描述了在Linux 64位系统下g++4.4.7环境中wcsncpy函数的
一个
Bug,当目标缓冲区地址无法被4整除时会触发段错误。文章通过分析函数的汇编代码发现
movdqa
指令要求参数必须内存对齐,并提供了
一个
替换方案
使用
swprintf来规避此问题。
汇编语言
21,500
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章