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]

[PATCH] gcc 2.96 sparc64 fixes, SUBREG_BYTE fixes


Hi!

Attached patch fixes gcc so that it finally compiles whole glibc (which then
seem to work) including 128bit QUAD long double and optimizations.
Should be applied on top of all my June gcc patches.
Shall I put all those patches at some URL, possible with a large patch
containing all of them against current gcc mainline?

1999-06-28  Jakub Jelinek  <jj@ultra.linux.cz>

	* config/sparc/sparc.md (clear_sfp, clear_dfp, clear_tfp): Require
	operand0 to be MEM.
	(movtf_cc_sp64, movtf_cc_reg_sp64): New patterns and following splits.
	(extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2,
	floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3,
	divtf3, sqrttf2): If operands are already MEM, don't copy it to the
	stack and back.
	(floatunsitf2, floatunsditf2, fixuns_trunctfsi2, fixuns_trunctfdi2):
	New patterns.
	* config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
	MAX_WCHAR_TYPE defined in sparc.h.
	* config/sparc/linuxaout.h: Likewise.
	* config/sparc/linux64.h: Likewise.
	Also default to -mvis if CPU is UltraSPARC.
	* config/sparc/sparc.c (sparc_emit_float_lib_cmp): If operands are
	already MEM, don't copy it to the stack and back.
	* config/sparc/sparc.h (REG_SIZE): For SUBREG check float mode on
	SUBREG_REG's mode.
	* combine.c (simplify_rtx): For two nested SUBREGs if the mode of
	the inner SUBREG is larger than both other modes we cannot simply
	add both SUBREG_BYTEs on big endian.
	(make_extraction): If BYTES_BIG_ENDIAN take the last few bytes
	of the register, not first.
	* calls.c (expand_call): For non-paradoxical SUBREG take endianess
	into account.
	

Cheers,
    Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
UltraLinux  |  http://ultra.linux.cz/  |  http://ultra.penguin.cz/
Linux version 2.3.9 on a sparc64 machine (1343.49 BogoMips)
___________________________________________________________________

gcc-subreg-patch.gz


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