Current egcs, binutils and kernel (fwd)

David Edelsohn dje at watson.ibm.com
Wed Apr 21 07:14:12 EST 1999


>>>>> Gabriel Paubert writes:

David> The original POWER architecture with the MQ register allowed a
David> short sequence to provide this 64-bit functionality.  The PowerPC
David> instruction set does not provide the necessary building blocks, so GCC
David> falls back to the C implementation in libgcc2.c producing the assembly
David> code shown in the later posting.

Gabriel> Yes, but the kernel is not linked with libgcc2. Anyway I've posted a patch
Gabriel> to correctly implement this. And then I've noticed just after that people
Gabriel> do more work than necessary in the cvt_df and cvt_fd routines: floating
Gabriel> point loads and stores never affect or depend on the FPSCR contents, so
Gabriel> there is no point at all in manipulating it (except adding bloat for the
Gabriel> sake of adding bloat).

	The purpose of my earlier message was to explain what was
occurring in rs6000.md and why GCC was calling the function instead of
inlining the code.  I thought that some people might actually want to
understand *WHY* the function was required and why GCC was behaving as
designed. 

David

[[ This message was sent via the linuxppc-dev mailing list.  Replies are ]]
[[ not  forced  back  to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting.   ]]




More information about the Linuxppc-dev mailing list