------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-03-15 
14:44 -------
Subject: Bug 18668

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     [EMAIL PROTECTED]       2005-03-15 14:44:13

Modified files:
        gcc            : ChangeLog 
        gcc/config/i386: i386-protos.h i386.c i386.h i386.md 

Log message:
        PR target/18668
        * config/i386/i386.h (x86_fisttp): New.
        (TARGET_FISTTP): New macro.
        * config/i386/i386.c (x86_fisttp): Set for NOCONA.
        (output_fix_trunc): Add fisttp parameter.  Generate fisttp x87
        instruction when fisttp flag is set.
        * config/i386/i386-protos.h (output_fix_trunc): Change declaration.
        
        * config/i386/i386.md (type attribute): Add fisttp.
        (unit attribute): Set to i387 for fisttp type.
        (X87MODEF, X87MODEI, SSEMODEF, SSEMODEI24): New mode macros.
        (fix_truncxfdi2, fix_truncxfsi2): Generate fisttp patterns for
        TARGET_FISTTP.
        (fix_truncdfdi2, fix_truncsfdi2, fix_truncdfsi2, fix_truncsfsi2):
        Generate fisttp patterns for TARGET_FISTTP. Implement using mode
        macros.
        (fix_truncxfhi2, fix_truncdfhi2, fix_truncsfhi2): Generate fisttp
        patterns for TARGET_FISTTP.  Enable patterns for
        (TARGET_FISTTP && !TARGET_SSE_MATH). Implement using mode macros.
        (fix_trunc<mode>_i387_fisttp_1, fix_trunc<mode>_i387_fisttp,
        fix_trunc<mode>_i387_fisttp_with_temp): New instruction patterns to
        implement fisttp x87 insn.
        (fix_trunc*_i387_fisttp splitters): New patterns.
        (*fix_truncdi_i387, *fix_truncsi_i387, *fix_trunchi_i387):
        Rename to *fix_trunc<mode>_i387_1.  Implement using mode macros.
        Disable patterns for TARGET_FISTTP.  Add comment about FLAGS_REG
        clobber.
        (fix_truncdi_memory, fix_truncdi_nomemory, fix_trunchi_nomemory):
        Rename to fix_trunc<mode>_i387 and fix_trunc<mode>_i387_with_temp.
        Implement using mode macros. Disable patterns for TARGET_FISTTP.
        (fix_truncsi_memory, fix_truncsi_nomemory, fix_trunchi_memory,
        fix_trunchi_nomemory): Rename to fix_trunc<mode>_i387 and
        fix_trunc<mode>_i387_with_temp. Implement using mode macros.
        Disable patterns for TARGET_FISTTP.
        (fix_trunc*_i387 splitters): Implement usign mode macros.
        (fix_truncdfdi_sse, fix_truncsfdi_sse, fix_truncdfsi_sse,
        fix_truncsfsi_sse): Disable for (TARGET_FISTTP && !TARGET_SSE_MATH).
        (fix_trunx*_sse peephole2s): Implement using mode macros.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7858&r2=2.7859
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386-protos.h.diff?cvsroot=gcc&r1=1.131&r2=1.132
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.797&r2=1.798
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.h.diff?cvsroot=gcc&r1=1.422&r2=1.423
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.md.diff?cvsroot=gcc&r1=1.619&r2=1.620



-- 


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

Reply via email to