[multiple changes]
authorJakub Jelinek <jakub@gcc.gnu.org>
Tue, 5 Apr 2005 20:20:42 +0000 (22:20 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 5 Apr 2005 20:20:42 +0000 (22:20 +0200)
commitf19e3a64adb7011b6077943eef5a2a6f305fa1e1
treee178b5d0998cb486d80a7eac89c6335431e33d22
parent4b2841117bd44ef5b9179c02151a507dc1bd23f5
[multiple changes]

2005-04-05  Jakub Jelinek  <jakub@redhat.com>

* config/i386/i386.c (init_cumulative_args): For -m32 -mfpmath=sse
and local functions, set sse_nregs to 8 and float_in_sse.
(function_arg_advance, function_arg): If float_in_sse, pass
SFmode and DFmode arguments in SSE registers.
* config/i386/i386.h (CUMULATIVE_ARGS): Add float_in_sse field.

* config/i386/i386.c (ix86_value_regno): Only optimize local functions
of -funit-at-a-time.

2005-04-05  Paolo Bonzini  <bonzini@gnu.org>

* config/i386/i386-protos.h (ix86_function_value): Accept two
arguments, like the target macro.
* config/i386/i386.h (FUNCTION_VALUE): Pass both arguments.
* config/i386/i386.c (ix86_function_value): Accept the second
argument of the target macro.
(ix86_function_ok_for_sibcall): Pass a function pointer to
ix86_function_value.
(ix86_function_value, ix86_libcall_value) [!TARGET_64BIT]: Adjust
call to ix86_value_regno).
(ix86_value_regno): Add support for returning floating point values
in SSE registers.

2005-04-05  Paolo Bonzini  <bonzini@gnu.org>

* gcc.dg/i386-ssefn-1.c: New test.
* gcc.dg/i386-ssefn-2.c: New test.
* gcc.dg/i386-ssefn-3.c: New test.
* gcc.dg/i386-ssefn-4.c: New test.

From-SVN: r97654
gcc/ChangeLog
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/i386-ssefn-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/i386-ssefn-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/i386-ssefn-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/i386-ssefn-4.c [new file with mode: 0644]