diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2012-11-18 17:33:38 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2012-11-18 17:33:38 +0000 |
commit | fcdd52b73c0b23bffd5ce5ba591f994547333429 (patch) | |
tree | 322c854e5205121b0545f58847a6f3aa5e4c0b36 /gcc/expr.h | |
parent | 8b7d5dab44547924887d15e00823fac44df2aa61 (diff) | |
download | gcc-fcdd52b73c0b23bffd5ce5ba591f994547333429.zip gcc-fcdd52b73c0b23bffd5ce5ba591f994547333429.tar.gz gcc-fcdd52b73c0b23bffd5ce5ba591f994547333429.tar.bz2 |
Makefile.in (recog.o): Add insn-codes.h.
gcc/
* Makefile.in (recog.o): Add insn-codes.h.
* expr.h (extraction_pattern): Move to optabs.h.
(mode_for_extraction): Delete.
* optabs.h (extraction_insn): New structure.
(extraction_pattern): Moved from expr.h.
(get_best_reg_extraction_insn, get_best_mem_extraction_insn): Declare.
* optabs.c (HAVE_insv, CODE_FOR_insv, HAVE_extv, CODE_FOR_extv)
(HAVE_extzv, CODE_FOR_extzv): Provide defaults.
(extraction_type): New enum.
(get_traditional_extraction_insn, get_extraction_insn)
(get_best_reg_extraction_insn, get_best_mem_extraction_insn):
New functions.
* combine.c (make_extraction): Use get_best_reg_extraction_insn
instead of mode_for_extraction.
* expmed.c (HAVE_insv, CODE_FOR_insv, gen_insv, HAVE_extv)
(CODE_FOR_extv, gen_extv, HAVE_extzv, CODE_FOR_extzv, gen_extzv):
Remove fallback definitions.
(mode_for_extraction): Delete.
(adjust_bit_field_mem_for_reg): New function.
(store_bit_field_using_insv): Replace OP_MODE parameter with
an extraction_insn. Pass struct_mode to narrow_bit_field_mem.
(extract_bit_field_using_extv): Likewise EXT_MODE.
(store_bit_field_1): Use get_best_reg_extraction_insn and
get_best_mem_extraction_insn instead of mode_for_extraction.
Use adjust_bit_field_mem_for_reg when forcing memory to a
register and doing a register insertion. Update calls to
store_bit_field_using_insv.
(extract_bit_field_1): Likewise extractions and calls to
extract_bit_field_using_extv.
(store_Bit_field): When narrowing to a bitregion, don't use the
insv mode as a limit.
* recog.c: (HAVE_extv, CODE_FOR_extv, HAVE_extzv, CODE_FOR_extzv):
Provide defaults.
(simplify_while_replacing): Use insn_data instead of
mode_for_extraction.
From-SVN: r193605
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 8 |
1 files changed, 0 insertions, 8 deletions
@@ -698,14 +698,6 @@ extern void probe_stack_range (HOST_WIDE_INT, rtx); in its original home. This becomes invalid if any more code is emitted. */ extern rtx hard_libcall_value (enum machine_mode, rtx); -/* Return the mode desired by operand N of a particular bitfield - insert/extract insn, or MAX_MACHINE_MODE if no such insn is - available. */ - -enum extraction_pattern { EP_insv, EP_extv, EP_extzv }; -extern enum machine_mode -mode_for_extraction (enum extraction_pattern, int); - extern void store_bit_field (rtx, unsigned HOST_WIDE_INT, unsigned HOST_WIDE_INT, unsigned HOST_WIDE_INT, |