summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2015-10-30 17:54:56 -0400
committerNicolas Pitre <nicolas.pitre@linaro.org>2015-11-16 14:42:11 -0500
commitf682b27c57aec2f0ca8927f9bb7c267c6165ad5a (patch)
treea84d7fd54c9efe96a466617ed1c325a3e80aef3e /lib
parent461a5e51060c93f5844113f4be9dba513cc92830 (diff)
downloadlinux-f682b27c57aec2f0ca8927f9bb7c267c6165ad5a.tar.gz
linux-f682b27c57aec2f0ca8927f9bb7c267c6165ad5a.tar.bz2
linux-f682b27c57aec2f0ca8927f9bb7c267c6165ad5a.zip
__div64_const32(): abstract out the actual 128-bit cross product code
The default C implementation for the 128-bit cross product is abstracted into the __arch_xprod_64() macro that can be overridden to let architectures provide their own assembly optimized implementation. There are many advantages to an assembly version for this operation. Carry bit handling becomes trivial, and 32-bit shifts may be achieved simply by inverting register pairs on some architectures. This has the potential to be quite faster and use much fewer instructions. Signed-off-by: Nicolas Pitre <nico@linaro.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions