]>
git.ipfire.org Git - thirdparty/openssl.git/blob - crypto/bn/asm/alpha/sqr_c4.pl
6 local($a,$c0,$c1,$c2)=@_;
7 local($l1,$h1,$t1,$t2);
9 &mul
($a,$a,($l1)=&NR
(1));
10 &muh
($a,$a,($h1)=&NR
(1));
13 &cmpult
($c0,$l1,($t1)=&NR
(1)); &FR
($l1);
14 &cmpult
($c1,$h1,($t2)=&NR
(1)); &FR
($h1);
15 &add
($c1,$t1,$c1); &FR
($t1);
16 &add
($c2,$t2,$c2); &FR
($t2);
21 local($a,$b,$c0,$c1,$c2)=@_;
22 local($l1,$h1,$t1,$t2);
24 &mul
($a,$b,($l1)=&NR
(1));
25 &muh
($a,$b,($h1)=&NR
(1));
26 &cmplt
($l1,"zero",($lc1)=&NR
(1));
27 &cmplt
($h1,"zero",($hc1)=&NR
(1));
30 &add
($h1,$lc1,$h1); &FR
($lc1);
31 &add
($c2,$hc1,$c2); &FR
($hc1);
35 &cmpult
($c0,$l1,($lc1)=&NR
(1)); &FR
($l1);
36 &cmpult
($c1,$h1,($hc1)=&NR
(1)); &FR
($h1);
38 &add
($c1,$lc1,$c1); &FR
($lc1);
39 &add
($c2,$hc1,$c2); &FR
($hc1);
46 local(@a,@b,$r,$c0,$c1,$c2);
54 &function_begin
($name,"");
58 &ld
(($a[0])=&NR
(1),&QWPw
(0,$ap));
59 &ld
(($a[1])=&NR
(1),&QWPw
(1,$ap));
60 &ld
(($a[2])=&NR
(1),&QWPw
(2,$ap));
61 &ld
(($a[3])=&NR
(1),&QWPw
(3,$ap)); &FR
($ap);
66 &mul
($a[0],$a[0],$c0);
67 &muh
($a[0],$a[0],$c1);
68 &st
($c0,&QWPw
(0,$rp));
69 ($c0,$c1,$c2)=($c1,$c2,$c0);
72 &sqr_add_c2
($a[0],$a[1],$c0,$c1,$c2);
73 &st
($c0,&QWPw
(1,$rp));
74 ($c0,$c1,$c2)=($c1,$c2,$c0);
77 &sqr_add_c
($a[1],$c0,$c1,$c2);
78 &sqr_add_c2
($a[2],$a[0],$c0,$c1,$c2);
79 &st
($c0,&QWPw
(2,$rp));
80 ($c0,$c1,$c2)=($c1,$c2,$c0);
83 &sqr_add_c2
($a[3],$a[0],$c0,$c1,$c2);
84 &sqr_add_c2
($a[2],$a[1],$c0,$c1,$c2);
85 &st
($c0,&QWPw
(3,$rp));
86 ($c0,$c1,$c2)=($c1,$c2,$c0);
89 &sqr_add_c
($a[2],$c0,$c1,$c2);
90 &sqr_add_c2
($a[3],$a[1],$c0,$c1,$c2);
91 &st
($c0,&QWPw
(4,$rp));
92 ($c0,$c1,$c2)=($c1,$c2,$c0);
95 &sqr_add_c2
($a[3],$a[2],$c0,$c1,$c2);
96 &st
($c0,&QWPw
(5,$rp));
97 ($c0,$c1,$c2)=($c1,$c2,$c0);
100 &sqr_add_c
($a[3],$c0,$c1,$c2);
101 &st
($c0,&QWPw
(6,$rp));
102 &st
($c1,&QWPw
(7,$rp));
104 &function_end
($name);