没啥效果,如果表的长度在 64个uint8_t之类,应该可以提高查表速度,否则还是C来的快

#ifdef HAVE_NEON_AARCH64

void table_lookup_AArch64_neon(uint8_t* lookup_table, uint32_t length, uint8_t* input_ptr, uint8_t* output_ptr)
{
/* Load lookup table. */ uint8x16x4_t table0 = vld1q_u8_x4(lookup_table);
uint8x16x4_t table1 = vld1q_u8_x4(lookup_table+);
uint8x16x4_t table2 = vld1q_u8_x4(lookup_table+);
uint8x16x4_t table3 = vld1q_u8_x4(lookup_table+); uint8x16x4_t elements;
uint8x16_t src, dst;
uint8x16_t diff = vmovq_n_s8(); for(uint32_t i=; i<length; i=i+) {
uint8_t* ptr = input_ptr+i;
elements = vld1q_u8_x4(ptr);
for(uint8_t j=; j<; j++) {
dst = vqtbx4q_u8(dst, table0, src); src = vsubq_u8(src, diff);
dst = vqtbx4q_u8(dst, table1, src); src = vsubq_u8(src, diff);
dst = vqtbx4q_u8(dst, table2, src); src = vsubq_u8(src, diff);
elements.val[j] = vqtbx4q_u8(dst, table3, src);
}
vst1q_u8_x4(ptr, elements);
}
}

最新文章

  1. Material Design兼容包的使用
  2. LogBack,升级版的log4J
  3. (转载)ORA-14452:试图创建,更改或删除正在使用的临时表中的索引
  4. 基于swoole的网页一对一实时聊天
  5. vs代码段快捷键设置
  6. JAVA并发编程的艺术
  7. ascii转int,int在转回ascii原值
  8. 第三课 Spinner的使用
  9. 自定义PopupWindow 怎么设置PopupWindow的宽度充满全屏宽度
  10. 被误解的 MVC 和被神化的 MVVM
  11. 「C」 函数、运算、流程控制
  12. c++, 虚基派生 : 共同基类产生的二义性的解决办法
  13. 【转】c#引用类型与值类型的区别大盘点
  14. SharePoint 2010 中创建超链接到Pop-Up对话框
  15. lucene-SpanFirstQuery 和SpanNearQuery 跨度查询
  16. 整个IT界可分为13块大领域
  17. 用ASP.NET Core 2.0 建立规范的 REST API -- GET 和 POST
  18. Centos7安装配置Nginx
  19. Java开发笔记(三十二)字符型与整型相互转化
  20. 完成了Coursera的一个机器学习课程

热门文章

  1. spring异常 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderServlet
  2. 再议urlconnection和socket区别
  3. 代码设置UIButton文字、图片位置
  4. 阿里CI/CD、DevOps、分层自动化技术
  5. 安装Reshaper后Intellisense失效
  6. ios 抓包工具 ios青花瓷charles
  7. css 用 display: inline-block; 代替 float
  8. JAVA、Android与Cordova环境搭建
  9. pods 遇到的问题
  10. ACM算法整理(不断补充ing)