diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-24 18:50:26 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-11-24 18:50:26 +0000 |
commit | 05d18e8b7f19ea7f238946f768ae2e8c5c8a66b1 (patch) | |
tree | b60ced5605459fa37b62bcb5a6c1cced24e7b3fd /gcc/optabs.h | |
parent | 0836e2c9712e7418159269b1b55130ca2739affc (diff) | |
download | gcc-05d18e8b7f19ea7f238946f768ae2e8c5c8a66b1.tar.gz |
* optabs.h (force_expand_binop): Declare.
* optabs.c (force_expand_binop): Export.
* stmt.c (shift_return_value): Delete.
(expand_return): Don't call it.
* expr.h (shift_return_value): Declare.
* calls.c (shift_returned_value): Delete in favor of...
(shift_return_value): ...this new function. Leave the caller to check
for non-BLKmode values passed in the msb of a register. Take said mode
and a shift direction as argument. Operate on the hard function value,
not a pseudo.
(expand_call): Adjust accordingly.
* function.c (expand_function_start): If a non-BLKmode return value
is padded at the last significant end of the return register, use the
return value's natural mode for the DECL_RESULT, not the mode of the
padded register.
(expand_function_end): Shift the same sort of return values left by
the appropriate amount.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91187 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.h')
-rw-r--r-- | gcc/optabs.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/optabs.h b/gcc/optabs.h index 09afccb5fca..76ec8dea2c8 100644 --- a/gcc/optabs.h +++ b/gcc/optabs.h @@ -425,6 +425,9 @@ extern rtx expand_ternary_op (enum machine_mode mode, optab ternary_optab, extern rtx expand_binop (enum machine_mode, optab, rtx, rtx, rtx, int, enum optab_methods); +extern bool force_expand_binop (enum machine_mode, optab, rtx, rtx, rtx, int, + enum optab_methods); + /* Expand a binary operation with both signed and unsigned forms. */ extern rtx sign_expand_binop (enum machine_mode, optab, optab, rtx, rtx, rtx, int, enum optab_methods); |