mirror of
https://github.com/emmansun/gmsm.git
synced 2025-05-11 03:26:17 +08:00
Updated SM3性能优化 (markdown)
parent
0b2b234c2e
commit
5b069b6cba
@ -60,6 +60,12 @@ https://software.intel.com/sites/landingpage/IntrinsicsGuide/
|
||||
SM3的第一版,比SHA256复杂:
|
||||
|
||||
// Wj ← P1(Wj−16 ⊕ Wj−9 ⊕ (Wj−3 ≪ 15)) ⊕ (Wj−13 ≪ 7) ⊕ Wj−6
|
||||
// Transpose data into high/low parts
|
||||
VPERM2I128 $0x20, XTMP2, XTMP0, XDWORD0 // w3, w2, w1, w0
|
||||
VPERM2I128 $0x31, XTMP2, XTMP0, XDWORD1 // w7, w6, w5, w4
|
||||
VPERM2I128 $0x20, XTMP3, XTMP1, XDWORD2 // w11, w10, w9, w8
|
||||
VPERM2I128 $0x31, XTMP3, XTMP1, XDWORD3 // w15, w14, w13, w12
|
||||
|
||||
VPALIGNR $12, XDWORD0, XDWORD1, XTMP0; \ // XTMP0 = W[-13] = {w6,w5,w4,w3}
|
||||
VPSLLD $7, XTMP0, XTMP1; \
|
||||
VPSRLD $(32-7), XTMP0, XTMP0; \
|
||||
|
Loading…
x
Reference in New Issue
Block a user