![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
硬件优化
文章平均质量分 67
linyingzhan
这个作者很懒,什么都没留下…
展开
-
C内嵌汇编简单示例
一:创建example.c#include int add(int , int);int main(){ int a; int b; a = 1; b = 2; a = add(a,b); printf("a = %d, b = %d\n", a, b); return 0;原创 2012-12-06 15:00:42 · 542 阅读 · 0 评论 -
GCC内联汇编实现向量加法的例子
花了一天多看别人的代码,查看命令和AT&T的指令格式,总算自己搞出一个还算能够运行的汇编函数,不过,话也说回来,这个函数真正计算的时间只有12s,但是同样的环境下,使用了GCC(3.4.5版本)的优化过的程序来跑,却也需要16s,看来还真是高效率,因为本人还不懂的如何对汇编程序优化...#include#include#define N1024*1024*1024#define原创 2012-12-06 15:00:49 · 891 阅读 · 0 评论 -
x86指令集的一点总结介绍(未完待…
l x86通用(或常用)指令:n 数据传送:u mov:复制数据u movsx:符号填充,用源的符号位填充高位u movzx:零填充,用0填充高位u xchg:交换两个操作数的值,操作数类型需要相同u lea(load efficient address):取有效地址,把一个内存变量的有效地址送给指定的寄存器u push:操作数进栈u pusha:原创 2012-12-06 15:00:53 · 1341 阅读 · 1 评论 -
C内嵌汇编简介
l 简要介绍n 关键字u __asm__:必须的;__volatile__:非必须的n 格式u __asm__ __volatile__ (“instruction list” : output:input : clobber/modify);u 上述除了四个部分都可以缺省,当后面三个部分没有的时候退化成基本内联汇编,否则为GCC内联汇编n 各个操作数含义原创 2012-12-06 15:00:44 · 557 阅读 · 0 评论 -
GCC内联汇编中使用的AT&T指令格式…
转自:http://www.cnblogs.com/lxgeek/archive/2011/01/01/1923738.htmlGAS中每个操作都是有一个字符的后缀,表明操作数的大小。C声明GAS后缀大小(字节)charb1shortw2(unsigned) int / long / char*原创 2012-12-06 15:00:46 · 830 阅读 · 0 评论 -
GCC内联汇编实现向量规约的例子
有了前面一个基础,这个就比较容易折腾出来了,只是换了个表达方式,所以也很快就出炉,负责计算的函数的性能仍然跟GCC(3.4.5)优化后的时间一致,但是因为不知道怎么进一步该这个程序,所以就只能到这个地步了,以后有改进的会继续发布。#include#include#define N1024*1024*1024#define M10intvector_reduction(int *原创 2012-12-06 15:00:51 · 387 阅读 · 0 评论