This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PowerPC FP constant and profiling changes
- To: Franz dot Sirl-kernel at lauterbach dot com, dje at watson dot ibm dot com
- Subject: Re: PowerPC FP constant and profiling changes
- From: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Date: Sun, 21 Mar 1999 22:44:02 -0500 (EST)
- Cc: egcs-patches at egcs dot cygnus dot com
> From: David Edelsohn <dje@watson.ibm.com>
>
> I have ripped out all of the stack PUSH/POP stuff that was causing
> ABI problems and replaced it with explicit moves to a temporary register.
> This includes having the SVR4 ABI act more like AIX using a register
> instead of the dangerous stack save/restore game. I could not test the
> SVR4 changes, so I would appreciate if the LinuxPPC testers would make
> sure that I have not broken anything when profiling is enabled.
>
> I also changed float/double constants to use the IEEE 754
> bit-patterns instead of emiting constants as FP values subject to
> assembler interpretation.
>
> David
>
>
> * rs6000.h (ASM_OUTPUT_{DOUBLE,FLOAT}): Always generate IEEE 754
> bit-pattern directly.
> (ASM_OUTPUT_REG_{PUSH,POP}): Delete.
> * rs6000.c (first_reg_to_save): If profiling and context needed,
> allocate a reg to save static chain for all ABIs. For AIX
> profiling, calculate parameter registers to save based on need.
> (output_function_profiler): Save and restore static chain around
> profile call for all ABIs.
I built a recent snapshot, which had this patch, on
powerpc-ibm-aix4.1.4.0. When I run c-torture using -p/-pg I saw no
regressions vs a normal testrun. Good work. Thanks for pursuing and
fixing the profiling problems David. :-)
--Kaveh
--
Kaveh R. Ghazi Engagement Manager / Project Services
ghazi@caip.rutgers.edu Qwest Internet Solutions