MMX实现的矩阵转置操作

原创 2007年10月08日 16:50:00
 _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数据的。

fpu,mmx以及sse寄存器的少量简介

FPU: 8个80位浮点寄存器(数据),16位状态寄存器,16位控制寄存器,16为标识寄存器。      使用FPU指令对这些寄存器进行操作,这些寄存器构成一个循环栈,st7栈底,st0栈顶,  ...
  • analogous_love
  • analogous_love
  • 2013年06月15日 23:31
  • 1692

使用MMX/SSE汇编指令集优化视频开发

1、汇编指令集 目前大部分的PC机采用的都是Intel或者AMD的CPU,其支持的多媒体汇编指令有: MMX:多媒体扩展指令(MultiMedia eXtention),该指令由Intel在1996年...
  • shaqoneal
  • shaqoneal
  • 2015年05月26日 17:16
  • 2383

MMX汇编指令优化

MMX汇编指令优化
  • jacke121
  • jacke121
  • 2017年01月22日 14:45
  • 351

SIMD——MMX指令集介绍

MMX指令集共47个指令,分为以下几类: • Data transfer • Arithmetic • Comparison • Conversion • Unpacking • Logi...
  • yangjianqiao0
  • yangjianqiao0
  • 2017年04月07日 11:31
  • 384

MMX Intrinsics各函数介绍

MMX Intrinsics各函数介绍。
  • fengbingchun
  • fengbingchun
  • 2014年03月01日 18:48
  • 4521

SSE指令指令集进行程序加速、DCT的优化处理

1. 什么是SSE 说到SSE,首先要弄清楚的一个概念是SIMD(单指令多数据流,Single Instruction Multiple Data),是一种数据并行技术,能够在一条指令中同时对多个...
  • yangdashi888
  • yangdashi888
  • 2016年11月28日 13:43
  • 1544

矩阵原地转置

一,问题描述     微软面试题:将一个MxN的矩阵存储在一个一维数组中,编程实现矩阵的转置。     要求:空间复杂度为O(1) 二,思路分析     下面以一个4x2的矩阵A={1,2...
  • lisong694767315
  • lisong694767315
  • 2014年06月06日 17:36
  • 1655

MMX的数据结构 & MMX指令集

MMX的数据结构 多媒体软件具有如下显著的特点: 1、 小整型数据类型(图形数据为8位 ,声频数据为16位) 2、 对小整型数据的频繁且重复的计算操作(例如被频繁的调用的核心算法); 3、...
  • u010550883
  • u010550883
  • 2014年11月20日 12:30
  • 357

Java调用jama实现矩阵运算

转自:http://www.cnblogs.com/zangbo/p/5622351.html 一、jama简介 Jama是一个基本的线性代数java包。包括一个基本的Matrix...
  • hjwang1
  • hjwang1
  • 2016年10月13日 18:51
  • 8543

数据结构之无向网(邻接矩阵)之基本操作(含Prim)

#include using namespace std; #define MAXVEX 100 #define INFINITY 65535 typedef char VNode; typedef ...
  • hgeternal
  • hgeternal
  • 2014年10月19日 19:30
  • 543
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MMX实现的矩阵转置操作
举报原因:
原因补充:

(最多只允许输入30个字)