提交 31efffbd 编写于 作者: A Andy Polyakov

Trap condition should be 64-bit when it's due.

上级 aaa5dc61
...@@ -124,6 +124,7 @@ if ($opf =~ /32\.s/) { ...@@ -124,6 +124,7 @@ if ($opf =~ /32\.s/) {
$CLRU= "clrlwi"; # clear upper bits $CLRU= "clrlwi"; # clear upper bits
$INSR= "insrwi"; # insert right $INSR= "insrwi"; # insert right
$ROTL= "rotlwi"; # rotate left by immediate $ROTL= "rotlwi"; # rotate left by immediate
$TR= "tw"; # conditional trap
} elsif ($opf =~ /64\.s/) { } elsif ($opf =~ /64\.s/) {
$BITS= 64; $BITS= 64;
$BNSZ= $BITS/8; $BNSZ= $BITS/8;
...@@ -147,6 +148,7 @@ if ($opf =~ /32\.s/) { ...@@ -147,6 +148,7 @@ if ($opf =~ /32\.s/) {
$CLRU= "clrldi"; # clear upper bits $CLRU= "clrldi"; # clear upper bits
$INSR= "insrdi"; # insert right $INSR= "insrdi"; # insert right
$ROTL= "rotldi"; # rotate left by immediate $ROTL= "rotldi"; # rotate left by immediate
$TR= "td"; # conditional trap
} else { die "nonsense $opf"; } } else { die "nonsense $opf"; }
( defined shift || open STDOUT,">$opf" ) || die "can't open $opf: $!"; ( defined shift || open STDOUT,">$opf" ) || die "can't open $opf: $!";
...@@ -1715,7 +1717,7 @@ Lppcasm_div1: ...@@ -1715,7 +1717,7 @@ Lppcasm_div1:
bc BO_IF,CR0_EQ,Lppcasm_div2 #proceed if no leading zeros bc BO_IF,CR0_EQ,Lppcasm_div2 #proceed if no leading zeros
subf r8,r7,r8 #r8 = BN_num_bits_word(d) subf r8,r7,r8 #r8 = BN_num_bits_word(d)
$SHR. r9,r3,r8 #are there any bits above r8'th? $SHR. r9,r3,r8 #are there any bits above r8'th?
tw 16,r9,r0 #if there're, signal to dump core... $TR 16,r9,r0 #if there're, signal to dump core...
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.
先完成此消息的编辑!
想要评论请 注册