【发布时间】:2011-12-02 09:33:33
【问题描述】:
可以重新表达:
- i % m
作为:
- i & (m-1)
在哪里,
- i 是一个无符号整数
- m 是 2 的幂
我的问题是:AND 操作是否更快?现代 CPU 不支持在单条指令中对硬件进行整数模运算吗?我对 ARM 很感兴趣,但是在它的指令集中看不到模运算。
【问题讨论】:
-
定义“现代 CPU”。 ARM7TDMI(ARMv4 架构)和 ARM9(26EJ-S)(ARMv5 架构)没有硬件划分。 Cortex-M(ARMv7M 架构)和 Cortex-R(不太常见,ARMv7R)确实有硬件划分,Cortex-A(ARMv7 架构,不是 7R 或 7M)没有硬件划分。请参阅the docs for
sdivandudiv和quick reference card。
标签: assembly arm cpu-architecture micro-optimization