Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
aaa5dc61
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
aaa5dc61
编写于
7月 02, 2005
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
More elegant solution to "sparse decimal printout on PPC" problem.
上级
8be97c01
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
13 deletion
+8
-13
crypto/bn/asm/ppc.pl
crypto/bn/asm/ppc.pl
+8
-13
未找到文件。
crypto/bn/asm/ppc.pl
浏览文件 @
aaa5dc61
...
@@ -116,7 +116,7 @@ if ($opf =~ /32\.s/) {
...
@@ -116,7 +116,7 @@ if ($opf =~ /32\.s/) {
$UDIV
=
"
divwu
";
# unsigned divide
$UDIV
=
"
divwu
";
# unsigned divide
$UCMPI
=
"
cmplwi
";
# unsigned compare with immediate
$UCMPI
=
"
cmplwi
";
# unsigned compare with immediate
$UCMP
=
"
cmplw
";
# unsigned compare
$UCMP
=
"
cmplw
";
# unsigned compare
$C
OUNTZ
=
"
cntlzw
";
# count leading zeros
$C
NTLZ
=
"
cntlzw
";
# count leading zeros
$SHL
=
"
slw
";
# shift left
$SHL
=
"
slw
";
# shift left
$SHR
=
"
srw
";
# unsigned shift right
$SHR
=
"
srw
";
# unsigned shift right
$SHRI
=
"
srwi
";
# unsigned shift right by immediate
$SHRI
=
"
srwi
";
# unsigned shift right by immediate
...
@@ -139,7 +139,7 @@ if ($opf =~ /32\.s/) {
...
@@ -139,7 +139,7 @@ if ($opf =~ /32\.s/) {
$UDIV
=
"
divdu
";
# unsigned divide
$UDIV
=
"
divdu
";
# unsigned divide
$UCMPI
=
"
cmpldi
";
# unsigned compare with immediate
$UCMPI
=
"
cmpldi
";
# unsigned compare with immediate
$UCMP
=
"
cmpld
";
# unsigned compare
$UCMP
=
"
cmpld
";
# unsigned compare
$C
OUNTZ
=
"
cntlzd
";
# count leading zeros
$C
NTLZ
=
"
cntlzd
";
# count leading zeros
$SHL
=
"
sld
";
# shift left
$SHL
=
"
sld
";
# shift left
$SHR
=
"
srd
";
# unsigned shift right
$SHR
=
"
srd
";
# unsigned shift right
$SHRI
=
"
srdi
";
# unsigned shift right by immediate
$SHRI
=
"
srdi
";
# unsigned shift right by immediate
...
@@ -1710,17 +1710,12 @@ Lppcasm_add_adios:
...
@@ -1710,17 +1710,12 @@ Lppcasm_add_adios:
bclr BO_ALWAYS,CR0_LT
bclr BO_ALWAYS,CR0_LT
Lppcasm_div1:
Lppcasm_div1:
xor r0,r0,r0 #r0=0
xor r0,r0,r0 #r0=0
$COUNTZ r7,r5 #r7 = num leading 0s in d.
li r8,$BITS
subfic r8,r7,$BITS #r8 = BN_num_bits_word(d)
$CNTLZ. r7,r5 #r7 = num leading 0s in d.
cmpi 0,0,r8,$BITS #
bc BO_IF,CR0_EQ,Lppcasm_div2 #proceed if no leading zeros
bc BO_IF,CR0_EQ,Lppcasm_div2 #proceed if (r8==$BITS)
subf r8,r7,r8 #r8 = BN_num_bits_word(d)
li r9,1 # r9=1
$SHR. r9,r3,r8 #are there any bits above r8'th?
$SHL r10,r9,r8 # r9<<=r8
tw 16,r9,r0 #if there're, signal to dump core...
$UCMP 0,r3,r10 #
bc BO_IF_NOT,CR0_GT,Lppcasm_div2 #or if (h > (1<<r8))
$UDIV r3,r3,r0 #if not assert(0) divide by 0!
#that's how we signal overflow
bclr BO_ALWAYS,CR0_LT #return. NEVER REACHED.
Lppcasm_div2:
Lppcasm_div2:
$UCMP 0,r3,r5 #h>=d?
$UCMP 0,r3,r5 #h>=d?
bc BO_IF,CR0_LT,Lppcasm_div3 #goto Lppcasm_div3 if not
bc BO_IF,CR0_LT,Lppcasm_div3 #goto Lppcasm_div3 if not
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录