------- 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