diff options
author | J"orn Rennecke <joern.rennecke@superh.com> | 2002-06-25 20:39:18 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2002-06-25 21:39:18 +0100 |
commit | 4de1b7a90705e2633e046feec8523116f564db3d (patch) | |
tree | 36fecfa562a5580522328656aed4a9f40a513966 /gcc/gcc.c | |
parent | 0e20c0b56f39546c2e70864c23e9de0a40a44571 (diff) | |
download | gcc-4de1b7a90705e2633e046feec8523116f564db3d.zip gcc-4de1b7a90705e2633e046feec8523116f564db3d.tar.gz gcc-4de1b7a90705e2633e046feec8523116f564db3d.tar.bz2 |
lib1funcs.asm (udivdi3): Make first divide step produce a 32 bit result before normalization...
* config/sh/lib1funcs.asm (udivdi3): Make first divide step
produce a 32 bit result before normalization, then normalize with a
left shift. Compute approximative error of 2nd reciprocal
approximation in 2's complement. Fix mask generation from upper
longword of second divide stage result.
For large divisor, fix shift count used to truncate first stage
divide result; make decision if to adjust upwards based on comparison
of higher parts of normalized values.
(udivdi): Likewise. Undo normalization of result for large divisor
case.
From-SVN: r54993
Diffstat (limited to 'gcc/gcc.c')
0 files changed, 0 insertions, 0 deletions