This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] gcc 2.96 sparc64 fixes, SUBREG_BYTE fixes
- To: egcs-patches at egcs dot cygnus dot com
- Subject: [PATCH] gcc 2.96 sparc64 fixes, SUBREG_BYTE fixes
- From: Jakub Jelinek <jj at sunsite dot ms dot mff dot cuni dot cz>
- Date: Mon, 28 Jun 1999 22:58:00 +0200
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