@@ -27,17 +27,17 @@ define(`I', `(i32.xor (local.get $$2) (i32.or (local.get $$1) (i32.xor (local.ge
27
27
(func (export "update") (param $start i32) (param $n_bytes i32) (param $context i32)
28
28
(local $end i32)
29
29
(local $A i32) (local $B i32) (local $C i32) (local $D i32)
30
- (local $AA i32) (local $BB i32) (local $CC i32) (local $DD i32)
31
30
(local.set $A (i32.load offset=0 (local.get $context)))
32
31
(local.set $B (i32.load offset=4 (local.get $context)))
33
32
(local.set $C (i32.load offset=8 (local.get $context)))
34
33
(local.set $D (i32.load offset=12 (local.get $context)))
35
34
(local.set $end (i32.add (local.get $start) (local.get $n_bytes)))
36
35
(loop $process_block
37
- (local.set $AA (local.get $A))
38
- (local.tee $BB (local.get $B))
39
- (local.set $CC (local.get $C))
40
- (local.set $DD (local.get $D))
36
+ local.get $C
37
+ local.get $D
38
+ local.get $A
39
+ local.get $B
40
+ local.get $B
41
41
R(A, B, C, D, 0, 0xd76aa478, 7, `F')
42
42
R(D, A, B, C, 1, 0xe8c7b756, 12, `F')
43
43
R(C, D, A, B, 2, 0x242070db, 17, `F')
@@ -105,10 +105,10 @@ define(`I', `(i32.xor (local.get $$2) (i32.or (local.get $$1) (i32.xor (local.ge
105
105
R(D, A, B, C, 11, 0xbd3af235, 10, `I')
106
106
R(C, D, A, B, 2, 0x2ad7d2bb, 15, `I')
107
107
R(B, C, D, A, 9, 0xeb86d391, 21, `I')
108
- (local.set $A (i32.add (local.get $A) (local.get $AA) ))
109
- (local.set $B (i32.add (local.get $BB )))
110
- (local.set $C (i32.add (local.get $C) (local.get $CC )))
111
- (local.set $D (i32.add (local.get $D) (local.get $DD )))
108
+ (local.set $B (i32.add))
109
+ (local.set $A (i32.add (local.get $A )))
110
+ (local.set $D (i32.add (local.get $D )))
111
+ (local.set $C (i32.add (local.get $C )))
112
112
(local.set $start (i32.add (local.get $start) (i32.const 64)))
113
113
(br_if 0 (i32.ne (local.get $start) (local.get $end))))
114
114
(i32.store offset=0 (local.get $context) (local.get $A))
0 commit comments