ARM C嵌套汇编&NEON运算小例子
来源:互联网 发布:模锻力计算模拟软件 编辑:程序博客网 时间:2024/05/02 03:04
#include <stdio.h>#include <stdlib.h>#include <arm_neon.h>int main(){int x[10]={0};int *x_value;x_value=x;int data;asm("str fp, [sp, #-4]! \n\t""addfp, sp, #0 \n\t" /*1-8*/"mov r3, #1 \n\t""strb r3, [fp, #-48] \n\t""mov r3,#2 \n\t""strb r3, [fp, #-47] \n\t""mov r3, #3 \n\t""strb r3, [fp, #-46] \n\t""mov r3,#4 \n\t""strb r3,[fp,#-45] \n\t""mov r3, #5 \n\t""strb r3, [fp, #-44] \n\t""mov r3,#6 \n\t""strb r3,[fp,#-43] \n\t""mov r3,#7 \n\t""strb r3,[fp,#-42] \n\t""mov r3,#8 \n\t""strb r3,[fp,#-41] \n\t"/*9-16*/"mov r3, #9 \n\t""strb r3, [fp, #-40] \n\t""mov r3,#10 \n\t""strb r3, [fp, #-39] \n\t""mov r3, #11 \n\t""strb r3, [fp, #-38] \n\t""mov r3,#12 \n\t""strb r3,[fp,#-37] \n\t""mov r3, #13 \n\t""strb r3, [fp, #-36] \n\t""mov r3,#14 \n\t""strb r3,[fp,#-35] \n\t""mov r3,#14 \n\t""strb r3,[fp,#-34] \n\t""mov r3,#16 \n\t""strb r3,[fp,#-33] \n\t"" sub r3, fp,#48 \n\t"//back to [fp,#-48]"vld1.8 {d16},[r3] \n\t"//load to neon register," sub r3,fp, #40 \n\t"//back to [fp,#32]"vld1.8 {d17},[r3] \n\t" //load to neon register,"vadd.i8 d0,d16,d17 \n\t" " sub r3, fp,#200 \n\t""vst1.8 {d0}, [r3] \n\t"" ldrb r3,[fp,#-200] \n\t"" str r3,[%[x],#0] \n\t"" ldrb r3,[fp,#-199] \n\t"" str r3,[%[x],#4] \n\t"" ldrb r3,[fp,#-198] \n\t"" str r3,[%[x],#8] \n\t"" ldrb r3,[fp,#-197] \n\t"" str r3,[%[x],#12] \n\t"" ldrb r3,[fp,#-196] \n\t"" str r3,[%[x],#16] \n\t"" ldrb r3,[fp,#-195] \n\t"" str r3,[%[x],#20] \n\t"" ldrb r3,[fp,#-194] \n\t"" str r3,[%[x],#24] \n\t"" ldrb r3,[fp,#-193] \n\t"" str r3,[%[x],#28] \n\t""mov %[data],r3 \n\t""ldrfp, [sp], #4 \n\t":[x]"+r"(x_value),[data]"+r"(data)::"r0","r3","memory");int i;for(i=0;i<10;i++)printf("%d:%d-%d\n",i,x[i],data);return 0;}记录小例子
0 0
- ARM C嵌套汇编&NEON运算小例子
- arm汇编和neon汇编
- Linux ARM 下C嵌套汇编
- -00-neon汇编优化实例讲解【ARM NEON加速】
- 手撕Arm NEON 汇编 (引入)
- 转贴ARM NEON 优化的例子
- arm neon RGB转Gray的例子
- Linux下C内联汇编小例子
- ARM汇编嵌套中断处理
- Eclipse neon+hibernate5创建小例子
- Eclipse neon +Hibernate5+maven创建小例子
- C-运算符优先级一个小例子
- ARM-NEON
- C 语言 嵌套 汇编
- ARM NEON 编程系列7——NEON gcc编译器intrinsics函数对应的汇编指令
- 汇编入门小例子
- ARM汇编指令 具体操作例子
- arm汇编编程 简单例子
- notify()和notifyAll()主要区别
- 子系统拆分的一点总结
- IIS7的FTP出错: 451 No mapping for the unicode character exists in the target multi-byte code page
- 疯狂冰淇淋(CrazyCream)游戏源码完整版
- 视频学习记录
- ARM C嵌套汇编&NEON运算小例子
- 网站统计中的数据收集原理及实现
- 优秀C/C++源代码网站
- Oracle goldengate Windows平台oracle-oracle单向复制试验
- 爱也可以,飘逸洒脱,卓尔不群
- sh zkServer.sh status运行出错的问题解决可能办法
- Android Xfermode 实战 实现圆形、圆角图片
- 浏览器通过response设置缓存几种方法简解
- 使用PostSharp在.NET平台上实现AOP