Jeffrey A Law
Mon Jan 25 09:30:00 GMT 1999
In message < email@example.com >you write:
> But as you already pointed out, HP's millicode routines are very
> efficient, so I'm enhancing long long support to use those millicode
> routines directly instead of going through the __<xxx>di3 routines.
Well, except for division/modulo, I'd be a little suprised if the millicode
routines are faster than what gcc can synthesize. Maybe 64x64 multiply,
but that's probably borderline.
> Since it appears these millicode routines exist only for HP-PA, I can
> either add a call to determine if we're running on an HP platform or
> add a switch to make it the user's option as to whether or not the
> long long millicode is generated. I'd rather do the latter to leave
> it at the option of the user.
They would have to be a runtime switch.
> The Quad Library performs just that function. So if it is a mandatory
> part of the PRO ABI, then I don't have to make long double support on
> PA optional based on vendor. Nor do I have to limit it to
> !TARGET_SOFT_FLOAT. Hence the question about its existence on non-HP
> PA-RISC platforms.
No, you're approaching the problem from the wrong end.
Either you make it work with soft float (which means you're going to have
to implement the millicode for libgcc1.asm) for systems without HP's millicode
routines or you don't use the millicode for soft float.
More information about the Gcc