diff --git a/SM3性能优化.md b/SM3性能优化.md index 0962212..4f25079 100644 --- a/SM3性能优化.md +++ b/SM3性能优化.md @@ -150,7 +150,14 @@ SM3可以对Wt XOR Wt+4进行并行计算, 这是循环右移,SM3使用循环左移,没看到有ROLXL这样的指令,应该能传入负数来实现, - + Operation + IF (OperandSize = 32) + y ← imm8 AND 1FH; + DEST ← (SRC >> y) | (SRC << (32-y)); + ELSEIF (OperandSize = 64 ) + y ← imm8 AND 3FH; + DEST ← (SRC >> y) | (SRC << (64-y)); + ENDIF 实在不行只能用MOVL + ROLL来处理,但性能就没啥提高了。