------- Comment #9 from krebbel at gcc dot gnu dot org  2006-02-03 07:53 -------
Subject: Bug 25864

Author: krebbel
Date: Fri Feb  3 07:52:57 2006
New Revision: 110539

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110539
Log:
2006-02-03  Andreas Krebbel  <[EMAIL PROTECTED]>
            Ulrich Weigand  <[EMAIL PROTECTED]>

        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.
        (<de>, <dee> mode attributes): Removed.
        (<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
        ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs", 
        "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee", 
        "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3", 
        "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm", 
        "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly", 
        "*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
        "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc", 
        "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm", 
        "*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
        "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly", 
        "*negabs<mode>2", "sqrt<mode>2"):
        Changed <de> to <xde>. R constraint replaced by <Rf>.
        ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by 
        <Rf>.
        ("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
        ("*fmadd<mode>", "*fmsub<mode>"): 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:
    trunk/gcc/ChangeLog
    trunk/gcc/config/s390/2084.md
    trunk/gcc/config/s390/fixdfdi.h
    trunk/gcc/config/s390/libgcc-glibc.ver
    trunk/gcc/config/s390/s390.c
    trunk/gcc/config/s390/s390.h
    trunk/gcc/config/s390/s390.md
    trunk/gcc/config/s390/s390.opt
    trunk/gcc/config/s390/t-crtstuff
    trunk/gcc/doc/invoke.texi


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25864

Reply via email to