2005-07-14 Richard Guenther <rguenther@suse.de>
PR middle-end/22347 * config/i386/i386-protos.h (ix86_function_value): Change prototype to match new target hook. * config/i386/i386.c (ix86_value_regno): Change prototype to take extra type argument. (TARGET_FUNCTION_VALUE): Define. (ix86_function_ok_for_sibcall): Pass extra argument to ix86_value_regno, check return slot rtx for exact match. (ix86_function_value): Take extra parameter. Dispatch to ix86_value_regno with fndecl/fntype as provided. (ix86_value_regno): Handle extra type argument. * config/i386/i386.h (FUNCTION_VALUE): No longer define. * testsuite/gcc.target/i386/sseregparm-3.c: New testcase. * testsuite/gcc.target/i386/sseregparm-4.c: New testcase. * testsuite/gcc.target/i386/sseregparm-5.c: New testcase. * testsuite/gcc.target/i386/sseregparm-6.c: New testcase. * testsuite/gcc.target/i386/sseregparm-7.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102014 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/ChangeLog 21 additions, 0 deletionsgcc/ChangeLog
- gcc/config/i386/i386-protos.h 1 addition, 1 deletiongcc/config/i386/i386-protos.h
- gcc/config/i386/i386.c 34 additions, 13 deletionsgcc/config/i386/i386.c
- gcc/config/i386/i386.h 0 additions, 7 deletionsgcc/config/i386/i386.h
- gcc/testsuite/gcc.target/i386/sseregparm-3.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/i386/sseregparm-3.c
- gcc/testsuite/gcc.target/i386/sseregparm-4.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/i386/sseregparm-4.c
- gcc/testsuite/gcc.target/i386/sseregparm-5.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/i386/sseregparm-5.c
- gcc/testsuite/gcc.target/i386/sseregparm-6.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/i386/sseregparm-6.c
- gcc/testsuite/gcc.target/i386/sseregparm-7.c 13 additions, 0 deletionsgcc/testsuite/gcc.target/i386/sseregparm-7.c
Loading
Please register or sign in to comment