From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19385 invoked by alias); 3 Feb 2006 07:44:24 -0000 Received: (qmail 19349 invoked by alias); 3 Feb 2006 07:44:21 -0000 Date: Fri, 03 Feb 2006 07:44:00 -0000 Message-ID: <20060203074421.19348.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/25864] Enable IBM long double format in 32-bit PowerPC Linux In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "krebbel at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-02/txt/msg00232.txt.bz2 List-Id: ------- Comment #8 from krebbel at gcc dot gnu dot org 2006-02-03 07:44 ------- Subject: Bug 25864 Author: krebbel Date: Fri Feb 3 07:44:12 2006 New Revision: 110538 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110538 Log: 2006-02-03 Andreas Krebbel Ulrich Weigand PR target/25864 * config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf", "x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations. * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions. * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr and dxr fields. (z900_cost, z990_cost, z9_109_cost): Values for the new fields added. (s390_rtx_costs): Use the new fields to calculate rtx costs. (s390_secondary_input_reload_class, s390_secondary_output_reload_class): Define secondary reloads for TFmode moves. (constant_modes): Add TFmode. (NR_C_MODES): Set to 8. * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__ builtin define. (LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64. (LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define. (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, CANNOT_CHANGE_MODE_CLASS): Consider TFmode. * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf, fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values. (FPR mode macro): Add TFmode. (DSF mode macro): New. (, mode attributes): Removed. (, , , , mode attributes): New. ("*cmp_ccs_0", "*cmp_ccs_0_ibm", "*cmp_ccs", "*cmp_ccs_ibm", "fix_trunc2_ieee", "floatdi2", "floatsi2_ieee", "*add3", "*add3_cc", "*add3_cconly", "*add3_ibm", "*sub3", "*sub3_cc", "*sub3_cconly", "*sub3_ibm", "*mul3_ibm", "*fmadd", "*fmsub", "*div3", "*div3_ibm", "*neg2_cc", "*neg2_cconly", "*neg2", "*neg2_ibm", "*abs2_cc", "*abs2_cconly", "*abs2", "*abs2_ibm", "*negabs2_cc", "*negabs2_cconly", "*negabs2", "sqrt2"): Changed to . R constraint replaced by . ("*mul3"): Changed to . R constraint replaced by . ("fix_truncdi2"): 'FPR:' removed. ("*fmadd", "*fmsub"): FPR mode replaced by DSF. ("*movtf_64", "*movtf_31"): New insn definitions followed by 5 splitters. ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", "extenddftf2", "extendsftf2"): New expanders. ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", "*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm", "*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns. * config/s390/s390.opt (mlong-double-128, mlong-double-64): New options. * config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined. * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2, __fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi, __floatditf): Add a GCC_4.1.0 symbol version tag. * doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document the new options. Modified: branches/gcc-4_1-branch/gcc/ChangeLog branches/gcc-4_1-branch/gcc/config/s390/2084.md branches/gcc-4_1-branch/gcc/config/s390/fixdfdi.h branches/gcc-4_1-branch/gcc/config/s390/libgcc-glibc.ver branches/gcc-4_1-branch/gcc/config/s390/s390.c branches/gcc-4_1-branch/gcc/config/s390/s390.h branches/gcc-4_1-branch/gcc/config/s390/s390.md branches/gcc-4_1-branch/gcc/config/s390/s390.opt branches/gcc-4_1-branch/gcc/config/s390/t-crtstuff branches/gcc-4_1-branch/gcc/doc/invoke.texi -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25864