* h8300/h8300.c: Include obstack.h.
(bit_memory_operand): New function.
(print_operand): Append ":16" to a memory reference to
the tiny data area.
(h8300_tiny_data_p): New function.
(h8300_valid_machine_decl_attribute): Accept "tiny_data". Fix
typo.
(h8300_encode_label): New function.
(h8300_adjust_insn_length): References to the tiny data section
are two bytes shorter than normal accesses on the H8/300H.
* h8300/h8300.h (OK_FOR_U): Fix thinko.
(ENCODE_SECTION_INFO): Encode info for tiny data variables.
(STRIP_NAME_ENCODING): Define.
* h8300/h8300.md (movqi insn): Fix length for a constant load.
(movstrictqi): Likewise.
(movhi, movstricthi): Likewise.
(memory btst patterns): Add register to the constraints to keep
reload happy.
From-SVN: r11955
* h8300/h8300.h (OK_FOR_U): (const (plus (symbol_ref) (const_int)))
is a valid U operand if SYMBOL_REF_FLAG is set on the
SYMBOL_REF.
* h8300/h8300.md (memory btst patterns): New patterns.
From-SVN: r11954
* dbxout.c (dbxout_function): When deciding to call dbxout_function_end
change test from flag_function_sections to DECL_SECTION_NAME != NULL.
From-SVN: r11946
* expr.c (expand_increment): Add third parameter to know when to
ignore the result value.
(store_constructor): Ditto.
(expand_expr, case PREINCREMENT_EXPR): Ditto.
(expand_expr, case PREDECREMENT_EXPR): Ditto.
(expand_expr, case POSTINCREMENT_EXPR): Ditto.
(expand_expr, case POSTDECREMENT_EXPR): Ditto.
* tree.c (stabilize_reference): Always ignore the first operand of
COMPOUND_EXPRs.
From-SVN: r11939
(old_gxx_include_dir): New - defined as $(libdir)/g++-include.
(cccp.o, cpplib.o): Also pass OLD_GPLUSPLUS_INCLUDE_DIR (set from
$(old_gxx_include_dir)).
From-SVN: r11929
(all_procs): Add arm7100.
(arm_override_options): Parse arm_select structure to determine selected
architecture and tuning parameters.
(output_option, output_options): New functions.
(arm_canonicalize_comparison): New function.
(arm_gen_movstrqi): Don't add a writeback of the index registers for the
last instructions.
(arm_select_cc_mode): Detect case where mode is carry out of unsigned
arithmetic.
(output_lcomm_directive): Use bss_section (), and use alignment rather than
rounding.
(get_arm_condition_code): Handle CC_Cmode.
(final_prescan_insn): Avoid boundary case where we would occasionally
inline MAX_INSNS_SKIPPED+1 insns. Allow call_insns to be inlined in APCS_32
mode if they are the last insn in the block.
From-SVN: r11921
(*addsi3_compare_op[12]): New insns.
(*compare_addsi2_op[01]): New insns.
(*addsi3_carryin, *addsi3_carryin_alt[12]): New insns.
(*cmp_ite1): Use arm_add_operand instead of arm_rhs_operand.
From-SVN: r11920
(ASM_OUTPUT_MI_THUNK): Moved here from aout.h. Rewrite to be
independent of the selected assembler, and to use optimal number of
instructions.
(target_cpu_name): Delete.
(TARGET_SWITCHES): Delete "be" and "le".
(TARGET_OPTIONS): Delete "cpu-", add "tune=".
(struct arm_cpu_select): New struct.
(PROCESSOR_DEFAULT, TARGET_CPU_DEFAULT): Define.
(EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CC_Cmode.
(CANONICALIZE_COMPARISON): Define.
From-SVN: r11919
* h8300/h8300.c (h8300_adjust_insn_length): Adjust the cost of
shifts by small constant values.
* h8300/h8300.md: Refine comments. Remove names from many
patterns which don't need them.
(compare insns): Don't underestimate lengths.
(andqi3 expander): Remove constrains.
(andhi3): Don't underestimate length.
(andsi3): Don't underestimate length. Improve code when upper
or lower half of destination is being cleared.
(indirect_jump_h8300, indirect_jump_h8300h): Simplify.
(shift insns): Remove useless "I" constraint.
From-SVN: r11912
* h8300/h8300.md (bcs type): Remove "bcs" type attribute and
all references.
(bcs insns): Delete. No longer needed.
(setcc from bitfield): Rewrite to use zero_extract. Provide
QImode, HImode and SImode variants.
From-SVN: r11910