diff --git a/SM2性能优化(续).md b/SM2性能优化(续).md index 62d0776..639cb31 100644 --- a/SM2性能优化(续).md +++ b/SM2性能优化(续).md @@ -8,12 +8,16 @@ prime order elliptic curves, §A.2](https://eprint.iacr.org/2015/1060)。这里 通过代码生成方式,保证算法实现的正确性、一致性。有尝试自己编写SM2曲线纯Go语言优化实现的同学应该体会很深。 -## amd64架构优化 +## amd64 arm64架构实现 总体而言,和以前实现相比,变化不大。 * 基点标量乘法查找表生成,没有重新写生成方法,延用以前的,可以参考[gen_p256_table.go](https://github.com/emmansun/gmsm/blob/go_1.16/sm2/gen_p256_table.go)。 -* 使用**MULX**优化, 可以参考这个提交 https://github.com/emmansun/gmsm/commit/a0c4a389b8ceea6cbad3ede4eef011b26482b2ad -* AVX2优化,这里只是SELECT、MOVE等优化,不涉及计算。 * 调整了点标量乘法的窗口大小,具体请参考[sm2 point scalar multiple ASM implementation issue: final p256PointAddAsm's input maybe equal](https://github.com/emmansun/gmsm/discussions/127) ## amd64架构优化 +* 使用**MULX**优化, 可以参考这个提交 https://github.com/emmansun/gmsm/commit/a0c4a389b8ceea6cbad3ede4eef011b26482b2ad +* AVX2优化,这里只是SELECT、MOVE等优化,不涉及计算。 + +## amd64架构优化 +* 使用SIMD实现SELECT、MOVE操作 +