diff options
author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2015-10-30 17:54:56 -0400 |
---|---|---|
committer | Nicolas Pitre <nicolas.pitre@linaro.org> | 2015-11-16 14:42:11 -0500 |
commit | f682b27c57aec2f0ca8927f9bb7c267c6165ad5a (patch) | |
tree | a84d7fd54c9efe96a466617ed1c325a3e80aef3e /lib | |
parent | 461a5e51060c93f5844113f4be9dba513cc92830 (diff) | |
download | linux-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