mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-18 02:49:03 +08:00
libgcc.S (___divhi3, ___modhi3): Fix long long divide and modulo sign problem.
* config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long divide and modulo sign problem. From-SVN: r24681
This commit is contained in:
parent
98dcbc07f5
commit
cce88d8642
@ -958,7 +958,7 @@ ___divhi3:
|
|||||||
ldi *-ar2(4),r0
|
ldi *-ar2(4),r0
|
||||||
ldi *-ar2(3),r1
|
ldi *-ar2(3),r1
|
||||||
bge div1
|
bge div1
|
||||||
negi ir0
|
not ir0
|
||||||
negi r0
|
negi r0
|
||||||
negb r1
|
negb r1
|
||||||
div1:
|
div1:
|
||||||
@ -967,7 +967,7 @@ div1:
|
|||||||
ldi *-ar2(2),r0
|
ldi *-ar2(2),r0
|
||||||
ldi *-ar2(1),r1
|
ldi *-ar2(1),r1
|
||||||
bge div2
|
bge div2
|
||||||
negi ir0
|
not ir0
|
||||||
negi r0
|
negi r0
|
||||||
negb r1
|
negb r1
|
||||||
div2:
|
div2:
|
||||||
@ -995,7 +995,7 @@ ___modhi3:
|
|||||||
ldi *-ar2(4),r0
|
ldi *-ar2(4),r0
|
||||||
ldi *-ar2(3),r1
|
ldi *-ar2(3),r1
|
||||||
bge mod1
|
bge mod1
|
||||||
negi ir0
|
not ir0
|
||||||
negi r0
|
negi r0
|
||||||
negb r1
|
negb r1
|
||||||
mod1:
|
mod1:
|
||||||
@ -1004,7 +1004,7 @@ mod1:
|
|||||||
ldi *-ar2(2),r0
|
ldi *-ar2(2),r0
|
||||||
ldi *-ar2(1),r1
|
ldi *-ar2(1),r1
|
||||||
bge mod2
|
bge mod2
|
||||||
negi ir0
|
not ir0
|
||||||
negi r0
|
negi r0
|
||||||
negb r1
|
negb r1
|
||||||
mod2:
|
mod2:
|
||||||
|
Loading…
Reference in New Issue
Block a user