Those Magic Optimizations

admin 2021年9月1日14:32:39评论214 views字数 669阅读2分13秒阅读模式

Those Magic Optimizations

Last updated:Aug.19, 2017 CST 23:35:41

记录一些魔术、魔数和编译器优化指令。

速查手册,长期更新。

除法变乘法

怕不是最常见的一种优化操作了。

关键字:GCC,G++,ARM64,除法,0xAAAAAAAAAAAAAAAB
用法:result = -6148914691236517205LL * x;
等价:result = x/3
限制:64bit
要求:x%3==0,否则会产生一个超大的结果;

比如:
常数是0xAAAAAAAAAAAAAAAB
在64bit下,0xAAAAAAAAAAAAAAAB*6=2
* 上述数值去掉一个A,就把运算空间限制到了63bit(也就是做有符号计算),但是作用似乎不大

同类常数还有:
0xAAAAAAAAAAAAAAAB -> /3
0xAAAAAAAAAAAAAAAC -> /4
0xCCCCCCCCCCCCCCCD -> /5
0xE1BFE31AA3715387 -> /567

参考在此

跳转表

这个……应该没有什么说的意义吧,密集+稀疏两种策略。

FROM :blog.iret.xyz | Author:blog.iret.xyz

相关推荐: MacOS Big Sur 配置及使用记录

作为近几年以来变化最大的 macOS 更新,macOS Big Sur 对内置应用的图标、应用的设计语言、桌面的程序坞和菜单栏等方面都进行了重新设计,拟物化的风格深得人心。 虽说 “BugSur” 的名号不是白来的,但是在我近半年的使用体验来看,暂时没有遇到过…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年9月1日14:32:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Those Magic Optimizationshttp://cn-sec.com/archives/499476.html

发表评论

匿名网友 填写信息