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

石家庄网站建设seo公司清洁公司网站建设

石家庄网站建设seo公司,清洁公司网站建设,做网站的公司,网站建设公司要多少钱本文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/546016/

相关文章:

  • 临沂做商城网站网页设计立项书怎么写
  • 传统网站建设团队建设网站需要什么资质吗
  • 自己如何做简单网站wordpress获取文章评论
  • 网站会员整合在线 wordpress
  • 网站服务器管理 硬件吉安知名网站建设
  • 免费建站系统腾讯云网站建设教程视频
  • qqip.探测网站建设手工品外贸出口网站建设方案
  • 诊断网站seo现状网址怎么申请网站
  • 嘉兴网站制作案例wordpress+改邮箱
  • asp网站制作设计教程开发新闻类网站
  • 12306网站 制作全flash 电子商务网站如何推广
  • 宣城 网站建设虚拟主机配置
  • 广州网站推广找哪里建湖网站开发
  • 快速seo整站优化排行买什么样的主机(用来建网站的)支持下载
  • 自己做网站打开是乱码邢台网站建设信息
  • 网站流量东莞沙田网站建设
  • 佛山个性化网站建设网页平台
  • 网站底部 设计用哪个程序做网站收录好
  • 网站做开票网络的基本概念
  • 手机网站开发 html5做自媒体哪家网站好
  • 建设优秀企业网站国外做水广告网站大全
  • 汕头做网站优化的公司资源丰富免费的网站推荐排名
  • 网站框架设计最大的设计公司
  • 网站主体负责人和网站负责人网站营销工作流程
  • 做公司网站的理念wordpress seo技巧
  • 开淘宝店做网站开发织梦网站需要付费吗
  • 网站建设合作协议申请17网站一起做网店广州国大
  • 西安做网站朋朋网络网站后台收入怎么做会计分录
  • 网站建设捌金手指花总五南山住房和建设局网站官网
  • html5网站开发工具有哪些商业空间设计案例ppt模板