mirror of git://gcc.gnu.org/git/gcc.git
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
|
@ -3,6 +3,9 @@
|
||||||
* config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
|
* config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
|
||||||
got-relative addressing for anything but SImode.
|
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>
|
2006-04-05 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
PR tree-optimization/26919
|
PR tree-optimization/26919
|
||||||
|
|
|
@ -65,12 +65,11 @@ ___divsi3:
|
||||||
|
|
||||||
___modsi3:
|
___modsi3:
|
||||||
[--SP] = RETS;
|
[--SP] = RETS;
|
||||||
/* P1 and P2 are preserved by divsi3 and udivsi3. */
|
[--SP] = R0;
|
||||||
P1 = R0;
|
[--SP] = R1;
|
||||||
P2 = R1;
|
|
||||||
CALL ___divsi3;
|
CALL ___divsi3;
|
||||||
R1 = P1;
|
R2 = [SP++];
|
||||||
R2 = P2;
|
R1 = [SP++];
|
||||||
R2 *= R0;
|
R2 *= R0;
|
||||||
R0 = R1 - R2;
|
R0 = R1 - R2;
|
||||||
RETS = [SP++];
|
RETS = [SP++];
|
||||||
|
|
Loading…
Reference in New Issue