aboutsummaryrefslogtreecommitdiff
path: root/gcc/optabs.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/optabs.h')
-rw-r--r--gcc/optabs.h21
1 files changed, 2 insertions, 19 deletions
diff --git a/gcc/optabs.h b/gcc/optabs.h
index 8ecaa41..089b15a 100644
--- a/gcc/optabs.h
+++ b/gcc/optabs.h
@@ -144,6 +144,8 @@ extern enum insn_code find_widening_optab_handler_and_mode (optab,
enum machine_mode,
int,
enum machine_mode *);
+extern enum insn_code widening_optab_handler (optab, enum machine_mode,
+ enum machine_mode);
/* An extra flag to control optab_for_tree_code's behavior. This is needed to
distinguish between machines with a vector shift that takes a scalar for the
@@ -275,25 +277,6 @@ convert_optab_handler (convert_optab op, enum machine_mode to_mode,
return raw_optab_handler (scode);
}
-/* Like optab_handler, but for widening_operations that have a
- TO_MODE and a FROM_MODE. */
-
-static inline enum insn_code
-widening_optab_handler (optab op, enum machine_mode to_mode,
- enum machine_mode from_mode)
-{
- unsigned scode = (op << 16) | to_mode;
- if (to_mode != from_mode && from_mode != VOIDmode)
- {
- /* ??? Why does find_widening_optab_handler_and_mode attempt to
- widen things that can't be widened? E.g. add_optab... */
- if (op > LAST_CONV_OPTAB)
- return CODE_FOR_nothing;
- scode |= from_mode << 8;
- }
- return raw_optab_handler (scode);
-}
-
/* Return the insn used to implement mode MODE of OP, or CODE_FOR_nothing
if the target does not have such an insn. */