------- Comment #4 from uros at gcc dot gnu dot org  2006-12-11 14:06 -------
Subject: Bug 30120

Author: uros
Date: Mon Dec 11 14:06:07 2006
New Revision: 119734

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=119734
Log:
        PR target/30120
        Revert:
        2006-11-15  Uros Bizjak  <[EMAIL PROTECTED]>

        * config/i386/i386.opt: New target option -mx87regparm.

        * config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
        float_in_x87: Add new variables. mmx_words, sse_words: Remove.
        (X87_REGPARM_MAX): Define.

        * config/i386/i386.c (override_options): Error out for
        -mx87regparm but no 80387 support.
        (ix86_attribute_table): Add x87regparm.
        (ix86_handle_cconv_attribute): Update comments for x87regparm.
        (ix86_comp_type_attributes): Check for mismatched x87regparm types.
        (ix86_function_x87regparm): New function.
        (ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
        point registers.
        (init_cumulative_args): Initialize x87_nregs and float_in_x87
        variables.
        (function_arg_advance): Process x87_nregs and x87_regno when
        floating point argument is to be passed in 80387 register.
        (function_arg): Pass XFmode arguments in 80387 registers for local
        functions.  Pass SFmode and DFmode arguments to local functions
        in 80387 registers when flag_unsafe_math_optimizations is set.

        * reg-stack.c (convert_regs_entry): Disable NaN load for
        stack registers that are used for argument passing.

        * doc/extend.texi: Document x87regparm function attribute.
        * doc/invoke.texi: Document -mx87regparm.

testsuite/ChangeLog:

        PR target/30120
        * gcc.target/i386/pr30120.c: New test.

        Revert:
        2006-11-15  Uros Bizjak  <[EMAIL PROTECTED]>

        * gcc.target/i386/x87regparm-1.c: New test.
        * gcc.target/i386/x87regparm-2.c: New test.
        * gcc.target/i386/x87regparm-3.c: New test.
        * gcc.target/i386/x87regparm-4.c: New test.


Added:
    trunk/gcc/testsuite/gcc.target/i386/pr30120.c
Removed:
    trunk/gcc/testsuite/gcc.target/i386/x87regparm-1.c
    trunk/gcc/testsuite/gcc.target/i386/x87regparm-2.c
    trunk/gcc/testsuite/gcc.target/i386/x87regparm-3.c
    trunk/gcc/testsuite/gcc.target/i386/x87regparm-4.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.h
    trunk/gcc/config/i386/i386.opt
    trunk/gcc/doc/extend.texi
    trunk/gcc/doc/invoke.texi
    trunk/gcc/reg-stack.c
    trunk/gcc/testsuite/ChangeLog


-- 


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

Reply via email to