lib1funcs.asm (modsi): P1/P2 can be call-clobbered even if the calling function doesn't modify them.
* config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered even if the calling function doesn't modify them. From-SVN: r112720
This commit is contained in:
parent
e6c300efaa
commit
dcef6abaf5
2 changed files with 10 additions and 8 deletions
|
@ -3,6 +3,9 @@
|
|||
* config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
|
||||
got-relative addressing for anything but SImode.
|
||||
|
||||
* config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
|
||||
even if the calling function doesn't modify them.
|
||||
|
||||
2006-04-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/26919
|
||||
|
|
|
@ -64,17 +64,16 @@ ___divsi3:
|
|||
.type ___modsi3, STT_FUNC;
|
||||
|
||||
___modsi3:
|
||||
[--SP] = RETS;
|
||||
/* P1 and P2 are preserved by divsi3 and udivsi3. */
|
||||
P1 = R0;
|
||||
P2 = R1;
|
||||
CALL ___divsi3;
|
||||
R1 = P1;
|
||||
R2 = P2;
|
||||
[--SP] = RETS;
|
||||
[--SP] = R0;
|
||||
[--SP] = R1;
|
||||
CALL ___divsi3;
|
||||
R2 = [SP++];
|
||||
R1 = [SP++];
|
||||
R2 *= R0;
|
||||
R0 = R1 - R2;
|
||||
RETS = [SP++];
|
||||
RTS;
|
||||
RTS;
|
||||
#endif
|
||||
|
||||
#ifdef L_udivsi3
|
||||
|
|
Loading…
Add table
Reference in a new issue