diff --git a/SM3性能优化.md b/SM3性能优化.md index 49b108b..3c1c71f 100644 --- a/SM3性能优化.md +++ b/SM3性能优化.md @@ -226,9 +226,9 @@ SM3的第一版,比SHA256复杂,不知道有没有继续优化的空间。 VPXOR XTMP1, XTMP4, XTMP4; \ // XTMP4 = W[-9] XOR W[-16] XOR (W[-3] rol 15) {DCBA} // P1 - VPSLLD $15, XTMP4, XTMP5; \ + VPSLLD $15, XTMP4, XTMP2; \ VPSRLD $(32-15), XTMP4, XTMP3; \ - VPOR XTMP3, XTMP5, XTMP3; \ // XTMP3 = XTMP4 rol 15 {DCBA} + VPOR XTMP3, XTMP2, XTMP3; \ // XTMP3 = XTMP4 rol 15 {DCBA} VPSHUFB r08_mask<>(SB), XTMP3, XTMP1; \ // XTMP1 = XTMP4 rol 23 {DCBA} VPXOR XTMP3, XTMP4, XTMP3; \ // XTMP3 = XTMP4 XOR (XTMP4 rol 15 {DCBA}) VPXOR XTMP3, XTMP1, XTMP1; \ // XTMP1 = XTMP4 XOR (XTMP4 rol 15 {DCBA}) XOR (XTMP4 rol 23 {DCBA}) @@ -278,9 +278,9 @@ SM3的第一版,比SHA256复杂,不知道有没有继续优化的空间。 VPXOR XTMP1, XTMP4, XTMP4; \ // XTMP4 = W[-9] XOR W[-16] XOR (W[-3] rol 15) {DCBA} // P1 - VPSLLD $15, XTMP4, XTMP5; \ + VPSLLD $15, XTMP4, XTMP2; \ VPSRLD $(32-15), XTMP4, XTMP3; \ - VPOR XTMP3, XTMP5, XTMP3; \ // XTMP3 = XTMP4 rol 15 {DCBA} + VPOR XTMP3, XTMP2, XTMP3; \ // XTMP3 = XTMP4 rol 15 {DCBA} VPSHUFB r08_mask<>(SB), XTMP3, XTMP1; \ // XTMP1 = XTMP4 rol 23 {DCBA} VPXOR XTMP3, XTMP4, XTMP3; \ // XTMP3 = XTMP4 XOR (XTMP4 rol 15 {DCBA}) VPXOR XTMP3, XTMP1, XTMP1; \ // XTMP1 = XTMP4 XOR (XTMP4 rol 15 {DCBA}) XOR (XTMP4 rol 23 {DCBA})