i386.h (FUNCTION_OK_FOR_SIBCALL): Not OK if DECL's return type is a float mode...
* i386.h (FUNCTION_OK_FOR_SIBCALL): Not OK if DECL's return type is a float mode, cfun->decl's return type is not, and TARGET_FLOAT_RETURNS_IN_80387. * gcc.c-torture/execute/20000731-1.x: Delete. From-SVN: r35506
This commit is contained in:
parent
0681921da1
commit
26f2c02a97
4 changed files with 20 additions and 7 deletions
|
@ -1,3 +1,9 @@
|
|||
2000-08-05 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* i386.h (FUNCTION_OK_FOR_SIBCALL): Not OK if DECL's return
|
||||
type is a float mode, cfun->decl's return type is not, and
|
||||
TARGET_FLOAT_RETURNS_IN_80387.
|
||||
|
||||
2000-08-04 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* cppmain.c (cb_def_pragma): Skip the first two tokens from the
|
||||
|
|
|
@ -1319,10 +1319,16 @@ typedef struct ix86_args {
|
|||
|
||||
#define FUNCTION_ARG_PARTIAL_NREGS(CUM, MODE, TYPE, NAMED) 0
|
||||
|
||||
/* If PIC, we cannot optimize sibling calls to global functions
|
||||
because the PLT requires %ebx live. */
|
||||
#define FUNCTION_OK_FOR_SIBCALL(DECL) \
|
||||
(DECL && (! flag_pic || ! TREE_PUBLIC (DECL)))
|
||||
/* If PIC, we cannot make sibling calls to global functions
|
||||
because the PLT requires %ebx live.
|
||||
If we are returning floats on the register stack, we cannot make
|
||||
sibling calls to functions that return floats. (The stack adjust
|
||||
instruction will wind up after the sibcall jump, and not be executed.) */
|
||||
#define FUNCTION_OK_FOR_SIBCALL(DECL) (DECL \
|
||||
&& (! flag_pic || ! TREE_PUBLIC (DECL)) \
|
||||
&& (! TARGET_FLOAT_RETURNS_IN_80387 \
|
||||
|| ! FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (DECL)))) \
|
||||
|| FLOAT_MODE_P (TYPE_MODE (TREE_TYPE (TREE_TYPE (cfun->decl))))))
|
||||
|
||||
/* This macro is invoked just before the start of a function.
|
||||
It is used here to output code for -fpic that will load the
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2000-08-05 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* gcc.c-torture/execute/20000731-1.x: Delete.
|
||||
|
||||
2000-08-04 Zack Weinberg <zack@wolery.cumb.org>
|
||||
|
||||
* lib/gcc-dg.exp: Set up TORTURE_OPTIONS, torture_with_loops,
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
# Doesn't work. Hasn't worked ever, I think.
|
||||
set torture_execute_xfail "i?86-*-*"
|
||||
return 0
|
Loading…
Add table
Reference in a new issue