OSDN Git Service

2005-04-05 Jakub Jelinek <jakub@redhat.com>
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Apr 2005 20:20:42 +0000 (20:20 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Apr 2005 20:20:42 +0000 (20:20 +0000)
commitc7aa60c61bc662370e8bf20a3064bef58ac52371
treee178b5d0998cb486d80a7eac89c6335431e33d22
parent650616602d3b5a15939ce4d74fb101fbabdcebae
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97654 138bc75d-0d04-0410-961f-82ee72b054a4
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]