MMX实现的矩阵转置操作

  _asm
 {
  movq mm0,[esi]
   movq mm1,[esi+2*ebx]
   movq mm4,[mm0]
   punpacklwd mm0,mm1
   movq mm2,[esi+4*ebx]
   punpackhwd mm4,mm1
   movq mm3,[esi+6*ebx]
   movq mm5,mm2
   punpacklwd mm2,mm3
   movq mm6,mm0
   punpackhwd mm5,mm3
   movq mm7,mm4
   punpackldq mm0,mm2
   movq [edi+2*eax],mm6
   punpackldq mm4,mm5
   movq [edi+4*eax],mm4
   punpackhdq mm7,mm5
   movq [edi+6*eax],mm7
   emms
 }
 
算法说明:
这种算法适用于行列均为4的倍数的矩阵转换,对于其他大小的矩阵要做额外的处理工作。例如,可以将行列数填充0的方式扩展4的倍数,然后安照上述算法进行转置,上面的算法是针对16bit数据的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值