This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: PowerPC FP constant and profiling changes


 > 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]