diff options
author | MITSUNARI Shigeo <herumi@nifty.com> | 2016-11-16 14:48:14 +0800 |
---|---|---|
committer | MITSUNARI Shigeo <herumi@nifty.com> | 2016-11-16 14:48:14 +0800 |
commit | 1fba881aaf5bdfde03f41d62d13abfd737215fc9 (patch) | |
tree | 8566641bf590cfc2b90a35aa938804039e18e255 | |
parent | c4b1839ae8b1b6f33ea8a938b9bede5012a1f4e7 (diff) | |
download | dexon-mcl-1fba881aaf5bdfde03f41d62d13abfd737215fc9.tar.gz dexon-mcl-1fba881aaf5bdfde03f41d62d13abfd737215fc9.tar.zst dexon-mcl-1fba881aaf5bdfde03f41d62d13abfd737215fc9.zip |
add fp_shr1 by xbyak
-rw-r--r-- | src/fp_generator.hpp | 4 | ||||
-rw-r--r-- | test/fp_generator_test.cpp | 6 |
2 files changed, 4 insertions, 6 deletions
diff --git a/src/fp_generator.hpp b/src/fp_generator.hpp index 7947e2d..e74366a 100644 --- a/src/fp_generator.hpp +++ b/src/fp_generator.hpp @@ -162,7 +162,6 @@ struct FpGenerator : Xbyak::CodeGenerator { typedef int (*int2op)(uint64_t*, const uint64_t*); void4u mul_; uint3opI mulUnit_; - void2op shr1_; FpGenerator() : CodeGenerator(4096 * 8) , op_(0) @@ -172,7 +171,6 @@ struct FpGenerator : Xbyak::CodeGenerator { , isFullBit_(0) , mul_(0) , mulUnit_(0) - , shr1_(0) { useMulx_ = cpu_.has(Xbyak::util::Cpu::tBMI2); } @@ -204,7 +202,7 @@ struct FpGenerator : Xbyak::CodeGenerator { op.fp_subPre = getCurr<u3u>(); gen_addSubPre(false, pn_); align(16); - shr1_ = getCurr<void2op>(); + op.fp_shr1 = getCurr<void2u>(); gen_shr1(); align(16); diff --git a/test/fp_generator_test.cpp b/test/fp_generator_test.cpp index 605867d..9cc1fcf 100644 --- a/test/fp_generator_test.cpp +++ b/test/fp_generator_test.cpp @@ -166,7 +166,7 @@ void testMulI(const mcl::fp::FpGenerator& fg, int pn) } } -void testShr1(const mcl::fp::FpGenerator& fg, int pn) +void testShr1(const mcl::fp::Op& op, int pn) { cybozu::XorShift rg; for (int i = 0; i < 100; i++) { @@ -176,7 +176,7 @@ void testShr1(const mcl::fp::FpGenerator& fg, int pn) mpz_class mx; mcl::gmp::setArray(mx, x, pn); mx >>= 1; - fg.shr1_(z, x); + op.fp_shr1(z, x); mpz_class my; mcl::gmp::setArray(my, z, pn); CYBOZU_TEST_EQUAL(mx, my); @@ -192,7 +192,7 @@ void test(const char *pStr) testAddSub(op); testNeg(op); testMulI(*op.fg, pn); - testShr1(*op.fg, pn); + testShr1(op, pn); } CYBOZU_TEST_AUTO(all) |