当前位置: 首页 > news >正文

淘宝上 网站建设团购网站优化

淘宝上 网站建设,团购网站优化,福州企业建站软件,华为网站搭建本文Go使用SIMD指令采用如下方式: C编写对应的程序clang编译成汇编c2goasm将上述生成的汇编转为go的汇编 准备工具 clang。直接使用apt-get install clang安装即可c2goasm。 go get -u github.com/minio/c2goasm来进行安装asm2plan9s。 go get -u github.com/min…

本文Go使用SIMD指令采用如下方式:

  1. C编写对应的程序
  2. clang编译成汇编
  3. c2goasm将上述生成的汇编转为go的汇编

准备工具

  1. clang。直接使用apt-get install clang安装即可
  2. c2goasm。 go get -u github.com/minio/c2goasm来进行安装
  3. asm2plan9s。 go get -u github.com/minio/asm2plan9s
  4. yasm。直接使用功能apt-get install yasm,asm2plan9s依赖的工具

示例

// simd.c
#include <immintrin.h>
#include <stdint.h>void simd_str_to_int(const char *str, size_t len,  uint64_t* result) {__m128i ten = _mm_set1_epi8('0');__m128i mult=_mm_set_epi8(1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10);__m128i data = _mm_loadu_si128((__m128i const *)(str));data=_mm_sub_epi8(data, ten);data=_mm_maddubs_epi16(data, mult);mult=_mm_set_epi16(1,100,1,100,1,100,1,100);data=_mm_madd_epi16(data,mult);int32_t da[4];_mm_storeu_si128((__m128i *)da, data);*result= da[0]*1000000000000l+da[1]*100000000l+da[2]*10000+da[3];
}

采用如下命令

clang -S -DENABLE_AVX2 -target x86_64-unknown-none -masm=intel -mno-red-zone -mstackrealign -mllvm -inline-threshold=1000 -fno-asynchronous-unwind-tables -fno-exceptions -fno-rtti -O3 -fno-builtin -ffast-math -mavx simd.c -o simd.s 

准备文件simd_amd64.go

//go:build !noasm && !appengine
// +build !noasm,!appenginepackage mainimport ("reflect""unsafe"
)//go:noescape
func _simd_str_to_int(src unsafe.Pointer, size int64, result unsafe.Pointer)func SIMDToInt(va string) uint64 {h := (*reflect.StringHeader)(unsafe.Pointer(&va))var result uint64_simd_str_to_int(unsafe.Pointer(h.Data), int64(len(va)), unsafe.Pointer(&result))return result
}

clang导出的函数符号是以下划线开头,即_simd_str_to_int

开始导出go汇编

c2goasm -a simd.s simd_amd64.s

注意输出文件的名必须和对应声明go文件的名一致。即都为simd_amd64

参考文献

通过c生成的汇编,生成可供go执行的汇编

http://www.yayakq.cn/news/743056/

相关文章:

  • 广州市门户网站建设品牌wordpress用户注册添加密码
  • 李沧建网站公司wordpress底面有虚线这么办
  • 做垂直类网站抚州购物网站开发设计
  • 德州公司做网站dw旅游网站怎么做
  • 网站建设合同要不要交印花税网络推广平台排行榜
  • 网站开发需要会什么wordpress img相对路径
  • 网站建设有什么技术网站有哪些元素组成
  • 沈阳网站制作找网势科技做网站开发能挣钱
  • 山东建设监理协会网站无法登录做直播网站前端
  • 加强网站建设的制度做调研有哪些网站
  • 工信部备案网站查询用什么做响应式网站
  • 建网站拿到广告海外制作网站
  • 游戏网站开发运营的几个思路做影视网站需要境外
  • 云南南网站开发设计公司企业愿景
  • 重庆网站建设设计公司信息西北苗木网陕西泽基生态建设有限公司网站
  • 系部网站建设标准咸宁网站设计制作
  • 网站面试通知表格怎么做精品应用下载安装
  • 赣州住房和建设局网站wordpress插件jetpack
  • 广东网站建设公司电话网络框架
  • 南昌网站seo厂家什么蓝色 适合公司网站主色
  • 做互联网需要网站吗开封旅游网站建设方案策划书
  • 网站制作找云优化上海企业登记在线服务平台
  • 南山做网站公司哪家值得合作wordpress去除cat
  • 网站建设名片设计wordpress 发布文章
  • 做系统软件的网站重庆的汽车网站建设
  • ftp免费注册网站定制设计网站
  • 商务网站建设方案厦门网站建设推广哪家好
  • 网站建设任职要求建筑网片焊接机
  • 电子邮箱注册网站申请凡客诚品官方网店下
  • 融资网站建设重点WordPress在服务器什么位置