add invert, pow22523 wat files
This commit is contained in:
parent
885541ad1f
commit
3dfe6daec0
@ -63,17 +63,6 @@
|
|||||||
(param $g7 i64)
|
(param $g7 i64)
|
||||||
(param $g8 i64)
|
(param $g8 i64)
|
||||||
(param $g9 i64)
|
(param $g9 i64)
|
||||||
|
|
||||||
(local $h0 i64)
|
|
||||||
(local $h1 i64)
|
|
||||||
(local $h2 i64)
|
|
||||||
(local $h3 i64)
|
|
||||||
(local $h4 i64)
|
|
||||||
(local $h5 i64)
|
|
||||||
(local $h6 i64)
|
|
||||||
(local $h7 i64)
|
|
||||||
(local $h8 i64)
|
|
||||||
(local $h9 i64)
|
|
||||||
|
|
||||||
(local $carry0 i64)
|
(local $carry0 i64)
|
||||||
(local $carry1 i64)
|
(local $carry1 i64)
|
||||||
@ -357,18 +346,18 @@
|
|||||||
(set_local $f9g8_19 (i64.mul (get_local $f9) (get_local $g8_19)))
|
(set_local $f9g8_19 (i64.mul (get_local $f9) (get_local $g8_19)))
|
||||||
(set_local $f9g9_38 (i64.mul (get_local $f9_2) (get_local $g9_19)))
|
(set_local $f9g9_38 (i64.mul (get_local $f9_2) (get_local $g9_19)))
|
||||||
|
|
||||||
(set_local $h0 (i64.add (get_local $f0g0) (i64.add (get_local $f1g9_38) (i64.add (get_local $f2g8_19) (i64.add (get_local $f3g7_38) (i64.add (get_local $f4g6_19) (i64.add (get_local $f5g5_38) (i64.add (get_local $f6g4_19) (i64.add (get_local $f7g3_38) (i64.add (get_local $f8g2_19) (get_local $f9g1_38)))))))))))
|
(set_global $tmp0 (i64.add (get_local $f0g0) (i64.add (get_local $f1g9_38) (i64.add (get_local $f2g8_19) (i64.add (get_local $f3g7_38) (i64.add (get_local $f4g6_19) (i64.add (get_local $f5g5_38) (i64.add (get_local $f6g4_19) (i64.add (get_local $f7g3_38) (i64.add (get_local $f8g2_19) (get_local $f9g1_38)))))))))))
|
||||||
(set_local $h1 (i64.add (get_local $f0g1) (i64.add (get_local $f1g0) (i64.add (get_local $f2g9_19) (i64.add (get_local $f3g8_19) (i64.add (get_local $f4g7_19) (i64.add (get_local $f5g6_19) (i64.add (get_local $f6g5_19) (i64.add (get_local $f7g4_19) (i64.add (get_local $f8g3_19) (get_local $f9g2_19)))))))))))
|
(set_global $tmp1 (i64.add (get_local $f0g1) (i64.add (get_local $f1g0) (i64.add (get_local $f2g9_19) (i64.add (get_local $f3g8_19) (i64.add (get_local $f4g7_19) (i64.add (get_local $f5g6_19) (i64.add (get_local $f6g5_19) (i64.add (get_local $f7g4_19) (i64.add (get_local $f8g3_19) (get_local $f9g2_19)))))))))))
|
||||||
(set_local $h2 (i64.add (get_local $f0g2) (i64.add (get_local $f1g1_2) (i64.add (get_local $f2g0) (i64.add (get_local $f3g9_38) (i64.add (get_local $f4g8_19) (i64.add (get_local $f5g7_38) (i64.add (get_local $f6g6_19) (i64.add (get_local $f7g5_38) (i64.add (get_local $f8g4_19) (get_local $f9g3_38)))))))))))
|
(set_global $tmp2 (i64.add (get_local $f0g2) (i64.add (get_local $f1g1_2) (i64.add (get_local $f2g0) (i64.add (get_local $f3g9_38) (i64.add (get_local $f4g8_19) (i64.add (get_local $f5g7_38) (i64.add (get_local $f6g6_19) (i64.add (get_local $f7g5_38) (i64.add (get_local $f8g4_19) (get_local $f9g3_38)))))))))))
|
||||||
(set_local $h3 (i64.add (get_local $f0g3) (i64.add (get_local $f1g2) (i64.add (get_local $f2g1) (i64.add (get_local $f3g0) (i64.add (get_local $f4g9_19) (i64.add (get_local $f5g8_19) (i64.add (get_local $f6g7_19) (i64.add (get_local $f7g6_19) (i64.add (get_local $f8g5_19) (get_local $f9g4_19)))))))))))
|
(set_global $tmp3 (i64.add (get_local $f0g3) (i64.add (get_local $f1g2) (i64.add (get_local $f2g1) (i64.add (get_local $f3g0) (i64.add (get_local $f4g9_19) (i64.add (get_local $f5g8_19) (i64.add (get_local $f6g7_19) (i64.add (get_local $f7g6_19) (i64.add (get_local $f8g5_19) (get_local $f9g4_19)))))))))))
|
||||||
(set_local $h4 (i64.add (get_local $f0g4) (i64.add (get_local $f1g3_2) (i64.add (get_local $f2g2) (i64.add (get_local $f3g1_2) (i64.add (get_local $f4g0) (i64.add (get_local $f5g9_38) (i64.add (get_local $f6g8_19) (i64.add (get_local $f7g7_38) (i64.add (get_local $f8g6_19) (get_local $f9g5_38)))))))))))
|
(set_global $tmp4 (i64.add (get_local $f0g4) (i64.add (get_local $f1g3_2) (i64.add (get_local $f2g2) (i64.add (get_local $f3g1_2) (i64.add (get_local $f4g0) (i64.add (get_local $f5g9_38) (i64.add (get_local $f6g8_19) (i64.add (get_local $f7g7_38) (i64.add (get_local $f8g6_19) (get_local $f9g5_38)))))))))))
|
||||||
(set_local $h5 (i64.add (get_local $f0g5) (i64.add (get_local $f1g4) (i64.add (get_local $f2g3) (i64.add (get_local $f3g2) (i64.add (get_local $f4g1) (i64.add (get_local $f5g0) (i64.add (get_local $f6g9_19) (i64.add (get_local $f7g8_19) (i64.add (get_local $f8g7_19) (get_local $f9g6_19)))))))))))
|
(set_global $tmp5 (i64.add (get_local $f0g5) (i64.add (get_local $f1g4) (i64.add (get_local $f2g3) (i64.add (get_local $f3g2) (i64.add (get_local $f4g1) (i64.add (get_local $f5g0) (i64.add (get_local $f6g9_19) (i64.add (get_local $f7g8_19) (i64.add (get_local $f8g7_19) (get_local $f9g6_19)))))))))))
|
||||||
(set_local $h6 (i64.add (get_local $f0g6) (i64.add (get_local $f1g5_2) (i64.add (get_local $f2g4) (i64.add (get_local $f3g3_2) (i64.add (get_local $f4g2) (i64.add (get_local $f5g1_2) (i64.add (get_local $f6g0) (i64.add (get_local $f7g9_38) (i64.add (get_local $f8g8_19) (get_local $f9g7_38)))))))))))
|
(set_global $tmp6 (i64.add (get_local $f0g6) (i64.add (get_local $f1g5_2) (i64.add (get_local $f2g4) (i64.add (get_local $f3g3_2) (i64.add (get_local $f4g2) (i64.add (get_local $f5g1_2) (i64.add (get_local $f6g0) (i64.add (get_local $f7g9_38) (i64.add (get_local $f8g8_19) (get_local $f9g7_38)))))))))))
|
||||||
(set_local $h7 (i64.add (get_local $f0g7) (i64.add (get_local $f1g6) (i64.add (get_local $f2g5) (i64.add (get_local $f3g4) (i64.add (get_local $f4g3) (i64.add (get_local $f5g2) (i64.add (get_local $f6g1) (i64.add (get_local $f7g0) (i64.add (get_local $f8g9_19) (get_local $f9g8_19)))))))))))
|
(set_global $tmp7 (i64.add (get_local $f0g7) (i64.add (get_local $f1g6) (i64.add (get_local $f2g5) (i64.add (get_local $f3g4) (i64.add (get_local $f4g3) (i64.add (get_local $f5g2) (i64.add (get_local $f6g1) (i64.add (get_local $f7g0) (i64.add (get_local $f8g9_19) (get_local $f9g8_19)))))))))))
|
||||||
(set_local $h8 (i64.add (get_local $f0g8) (i64.add (get_local $f1g7_2) (i64.add (get_local $f2g6) (i64.add (get_local $f3g5_2) (i64.add (get_local $f4g4) (i64.add (get_local $f5g3_2) (i64.add (get_local $f6g2) (i64.add (get_local $f7g1_2) (i64.add (get_local $f8g0) (get_local $f9g9_38)))))))))))
|
(set_global $tmp8 (i64.add (get_local $f0g8) (i64.add (get_local $f1g7_2) (i64.add (get_local $f2g6) (i64.add (get_local $f3g5_2) (i64.add (get_local $f4g4) (i64.add (get_local $f5g3_2) (i64.add (get_local $f6g2) (i64.add (get_local $f7g1_2) (i64.add (get_local $f8g0) (get_local $f9g9_38)))))))))))
|
||||||
(set_local $h9 (i64.add (get_local $f0g9) (i64.add (get_local $f1g8) (i64.add (get_local $f2g7) (i64.add (get_local $f3g6) (i64.add (get_local $f4g5) (i64.add (get_local $f5g4) (i64.add (get_local $f6g3) (i64.add (get_local $f7g2) (i64.add (get_local $f8g1) (get_local $f9g0)))))))))))
|
(set_global $tmp9 (i64.add (get_local $f0g9) (i64.add (get_local $f1g8) (i64.add (get_local $f2g7) (i64.add (get_local $f3g6) (i64.add (get_local $f4g5) (i64.add (get_local $f5g4) (i64.add (get_local $f6g3) (i64.add (get_local $f7g2) (i64.add (get_local $f8g1) (get_local $f9g0)))))))))))
|
||||||
|
|
||||||
(set_local $carry0 (i64.shr_s (i64.add (get_local $h0) (i64.shl (i64.const 1) (i64.const 25))) (i64.const 26)))
|
(set_local $carry0 (i64.shr_s (i64.add (get_global $tmp0) (i64.shl (i64.const 1) (i64.const 25))) (i64.const 26)))
|
||||||
(set_global $tmp1 (i64.add (get_global $tmp1) (get_local $carry0)))
|
(set_global $tmp1 (i64.add (get_global $tmp1) (get_local $carry0)))
|
||||||
(set_global $tmp0 (i64.sub (get_global $tmp0) (i64.mul (get_local $carry0) (i64.shl (i64.const 1) (i64.const 26)))))
|
(set_global $tmp0 (i64.sub (get_global $tmp0) (i64.mul (get_local $carry0) (i64.shl (i64.const 1) (i64.const 26)))))
|
||||||
(set_local $carry4 (i64.shr_s (i64.add (get_global $tmp4) (i64.shl (i64.const 1) (i64.const 25))) (i64.const 26)))
|
(set_local $carry4 (i64.shr_s (i64.add (get_global $tmp4) (i64.shl (i64.const 1) (i64.const 25))) (i64.const 26)))
|
||||||
@ -425,16 +414,16 @@
|
|||||||
|
|
||||||
(local $i i32)
|
(local $i i32)
|
||||||
|
|
||||||
(local $t0_0 i64) (local $t1_0 i64) (local $t2_0 i64) (local $t3_0 i64)
|
(local $t0_0 i64) (local $t1_0 i64) (local $t2_0 i64)
|
||||||
(local $t0_1 i64) (local $t1_1 i64) (local $t2_1 i64) (local $t3_1 i64)
|
(local $t0_1 i64) (local $t1_1 i64) (local $t2_1 i64)
|
||||||
(local $t0_2 i64) (local $t1_2 i64) (local $t2_2 i64) (local $t3_2 i64)
|
(local $t0_2 i64) (local $t1_2 i64) (local $t2_2 i64)
|
||||||
(local $t0_3 i64) (local $t1_3 i64) (local $t2_3 i64) (local $t3_3 i64)
|
(local $t0_3 i64) (local $t1_3 i64) (local $t2_3 i64)
|
||||||
(local $t0_4 i64) (local $t1_4 i64) (local $t2_4 i64) (local $t3_4 i64)
|
(local $t0_4 i64) (local $t1_4 i64) (local $t2_4 i64)
|
||||||
(local $t0_5 i64) (local $t1_5 i64) (local $t2_5 i64) (local $t3_5 i64)
|
(local $t0_5 i64) (local $t1_5 i64) (local $t2_5 i64)
|
||||||
(local $t0_6 i64) (local $t1_6 i64) (local $t2_6 i64) (local $t3_6 i64)
|
(local $t0_6 i64) (local $t1_6 i64) (local $t2_6 i64)
|
||||||
(local $t0_7 i64) (local $t1_7 i64) (local $t2_7 i64) (local $t3_7 i64)
|
(local $t0_7 i64) (local $t1_7 i64) (local $t2_7 i64)
|
||||||
(local $t0_8 i64) (local $t1_8 i64) (local $t2_8 i64) (local $t3_8 i64)
|
(local $t0_8 i64) (local $t1_8 i64) (local $t2_8 i64)
|
||||||
(local $t0_9 i64) (local $t1_9 i64) (local $t2_9 i64) (local $t3_9 i64)
|
(local $t0_9 i64) (local $t1_9 i64) (local $t2_9 i64)
|
||||||
|
|
||||||
(set_local $f0 (i64.load32_u offset=0 (get_local $f)))
|
(set_local $f0 (i64.load32_u offset=0 (get_local $f)))
|
||||||
(set_local $f1 (i64.load32_u offset=4 (get_local $f)))
|
(set_local $f1 (i64.load32_u offset=4 (get_local $f)))
|
||||||
@ -670,7 +659,8 @@
|
|||||||
;; loop(6) : sq(t2)
|
;; loop(6) : sq(t2)
|
||||||
(block $end
|
(block $end
|
||||||
(loop $start
|
(loop $start
|
||||||
(br_if $end (i32.eq (get_local $i (i32.const 6))))
|
(br_if $end (i32.eq (get_local $i (i32.const 5))))
|
||||||
|
(set_local $i (i32.add (get_local $i) (i32.const 1)))
|
||||||
|
|
||||||
(get_global $tmp0)
|
(get_global $tmp0)
|
||||||
(get_global $tmp1)
|
(get_global $tmp1)
|
||||||
@ -744,7 +734,8 @@
|
|||||||
;; loop(11) : sq(t2)
|
;; loop(11) : sq(t2)
|
||||||
(block $end
|
(block $end
|
||||||
(loop $start
|
(loop $start
|
||||||
(br_if $end (i32.eq (get_local $i (i32.const 11))))
|
(br_if $end (i32.eq (get_local $i (i32.const 10))))
|
||||||
|
(set_local $i (i32.add (get_local $i) (i32.const 1)))
|
||||||
|
|
||||||
(get_global $tmp0)
|
(get_global $tmp0)
|
||||||
(get_global $tmp1)
|
(get_global $tmp1)
|
||||||
@ -807,7 +798,8 @@
|
|||||||
;; loop(21) : sq(t3)
|
;; loop(21) : sq(t3)
|
||||||
(block $end
|
(block $end
|
||||||
(loop $start
|
(loop $start
|
||||||
(br_if $end (i32.eq (get_local $i (i32.const 21))))
|
(br_if $end (i32.eq (get_local $i (i32.const 20))))
|
||||||
|
(set_local $i (i32.add (get_local $i) (i32.const 1)))
|
||||||
|
|
||||||
(get_global $tmp0)
|
(get_global $tmp0)
|
||||||
(get_global $tmp1)
|
(get_global $tmp1)
|
||||||
@ -833,17 +825,6 @@
|
|||||||
|
|
||||||
(br $start)))
|
(br $start)))
|
||||||
(set_local $i (i32.const 0))
|
(set_local $i (i32.const 0))
|
||||||
|
|
||||||
(set_local $t3_0 (get_global $tmp0))
|
|
||||||
(set_local $t3_1 (get_global $tmp1))
|
|
||||||
(set_local $t3_2 (get_global $tmp2))
|
|
||||||
(set_local $t3_3 (get_global $tmp3))
|
|
||||||
(set_local $t3_4 (get_global $tmp4))
|
|
||||||
(set_local $t3_5 (get_global $tmp5))
|
|
||||||
(set_local $t3_6 (get_global $tmp6))
|
|
||||||
(set_local $t3_7 (get_global $tmp7))
|
|
||||||
(set_local $t3_8 (get_global $tmp8))
|
|
||||||
(set_local $t3_9 (get_global $tmp9))
|
|
||||||
|
|
||||||
(get_local $t2_0)
|
(get_local $t2_0)
|
||||||
(get_local $t2_1)
|
(get_local $t2_1)
|
||||||
@ -870,7 +851,8 @@
|
|||||||
;; loop(11) : sq(t2)
|
;; loop(11) : sq(t2)
|
||||||
(block $end
|
(block $end
|
||||||
(loop $start
|
(loop $start
|
||||||
(br_if $end (i32.eq (get_local $i (i32.const 11))))
|
(br_if $end (i32.eq (get_local $i (i32.const 10))))
|
||||||
|
(set_local $i (i32.add (get_local $i) (i32.const 1)))
|
||||||
|
|
||||||
(get_global $tmp0)
|
(get_global $tmp0)
|
||||||
(get_global $tmp1)
|
(get_global $tmp1)
|
||||||
@ -933,7 +915,8 @@
|
|||||||
;; loop(11) : sq(t2)
|
;; loop(11) : sq(t2)
|
||||||
(block $end
|
(block $end
|
||||||
(loop $start
|
(loop $start
|
||||||
(br_if $end (i32.eq (get_local $i (i32.const 51))))
|
(br_if $end (i32.eq (get_local $i (i32.const 50))))
|
||||||
|
(set_local $i (i32.add (get_local $i) (i32.const 1)))
|
||||||
|
|
||||||
(get_global $tmp0)
|
(get_global $tmp0)
|
||||||
(get_global $tmp1)
|
(get_global $tmp1)
|
||||||
@ -996,7 +979,8 @@
|
|||||||
;; loop(101) : sq(t2)
|
;; loop(101) : sq(t2)
|
||||||
(block $end
|
(block $end
|
||||||
(loop $start
|
(loop $start
|
||||||
(br_if $end (i32.eq (get_local $i (i32.const 101))))
|
(br_if $end (i32.eq (get_local $i (i32.const 100))))
|
||||||
|
(set_local $i (i32.add (get_local $i) (i32.const 1)))
|
||||||
|
|
||||||
(get_global $tmp0)
|
(get_global $tmp0)
|
||||||
(get_global $tmp1)
|
(get_global $tmp1)
|
||||||
@ -1022,17 +1006,6 @@
|
|||||||
|
|
||||||
(br $start)))
|
(br $start)))
|
||||||
(set_local $i (i32.const 0))
|
(set_local $i (i32.const 0))
|
||||||
|
|
||||||
(set_local $t3_0 (get_global $tmp0))
|
|
||||||
(set_local $t3_1 (get_global $tmp1))
|
|
||||||
(set_local $t3_2 (get_global $tmp2))
|
|
||||||
(set_local $t3_3 (get_global $tmp3))
|
|
||||||
(set_local $t3_4 (get_global $tmp4))
|
|
||||||
(set_local $t3_5 (get_global $tmp5))
|
|
||||||
(set_local $t3_6 (get_global $tmp6))
|
|
||||||
(set_local $t3_7 (get_global $tmp7))
|
|
||||||
(set_local $t3_8 (get_global $tmp8))
|
|
||||||
(set_local $t3_9 (get_global $tmp9))
|
|
||||||
|
|
||||||
(get_local $t2_0)
|
(get_local $t2_0)
|
||||||
(get_local $t2_1)
|
(get_local $t2_1)
|
||||||
@ -1059,7 +1032,8 @@
|
|||||||
;; loop(51) : sq(t2)
|
;; loop(51) : sq(t2)
|
||||||
(block $end
|
(block $end
|
||||||
(loop $start
|
(loop $start
|
||||||
(br_if $end (i32.eq (get_local $i (i32.const 51))))
|
(br_if $end (i32.eq (get_local $i (i32.const 50))))
|
||||||
|
(set_local $i (i32.add (get_local $i) (i32.const 1)))
|
||||||
|
|
||||||
(get_global $tmp0)
|
(get_global $tmp0)
|
||||||
(get_global $tmp1)
|
(get_global $tmp1)
|
||||||
@ -1111,7 +1085,8 @@
|
|||||||
;; loop(51) : sq(t2)
|
;; loop(51) : sq(t2)
|
||||||
(block $end
|
(block $end
|
||||||
(loop $start
|
(loop $start
|
||||||
(br_if $end (i32.eq (get_local $i (i32.const 6))))
|
(br_if $end (i32.eq (get_local $i (i32.const 5))))
|
||||||
|
(set_local $i (i32.add (get_local $i) (i32.const 1)))
|
||||||
|
|
||||||
(get_global $tmp0)
|
(get_global $tmp0)
|
||||||
(get_global $tmp1)
|
(get_global $tmp1)
|
||||||
|
1138
fe25519_25/fe25519_pow22523.wat
Normal file
1138
fe25519_25/fe25519_pow22523.wat
Normal file
File diff suppressed because it is too large
Load Diff
2383
fe25519_25/mult.wat
2383
fe25519_25/mult.wat
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user