(expand_field_assignment): Take SUBREG_WORD into account when have
STRICT_LOW_PART.
(make_extraction): Make a STRICT_LOW_PART at any low-order word.
From-SVN: r11775
* flags.h (flag_function_sections): Declare.
* toplev.c (flag_function_sections): Define.
(compile_file): Add warnings when -ffunction-sections is
used with -g, or profiling. Disable -ffunction-sections
when profiling is used. Add warning when -ffunction-sections
is used on a target that doesn't support it.
* varasm.c (named_section): Make a copy of the section name
in case the original is in temporary storage.
(function_section): Set DECL_SECTION_NAME for each function
if flag_function_sections is on and the target supports it.
* dbxout.c (dbxout_function_end): New function.
(dbxout_function): Call dbxout_function_end if using extensions
and flag_function_sections is on.
* sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Prefix a function
section's name with ".text%" when -ffunction-sections.
From-SVN: r11774
(combine_instructions): In initial scan of insns, handle a REG_INC
note's affect on sign bit copies and nonzero bits.
(set_nonzero_bits_and_sign_copies): Treat a zero SET arg as a CLOBBER.
From-SVN: r11762
* arm/arm.c (use_return_insn): Don't use return for naked functions.
(arm_valid_machine_decl_attribute): New function.
(arm_naked_function_p): New function.
(output_func_prologue): Naked functions don't have prologues.
(arm_expand_prologue): Likewise.
(output_func_epilogue): Likewise with epilogues.
From-SVN: r11755
* h8300/h8300.c (adds_subs_operand): Fix thinko in last change.
* h8300/h8300.md (subhi3): Turn into a define_expand.
(subhi3 using adds_subs): New pattern.
(H8300 subhi): Derived from old subhi pattern. Simplified.
(H8300H subhi): Likewise.
(subsi using adds_subs): New pattern. Only used on H8300H.
(subsi_h8300): Allow "a" registers as destination.
(subsi_h8300h): Allow "a" registers as destination. Simplify.
* h8300/h8300.md (bcs_qiqi, bcs_hihi, bs_hiqi): Fix thinkos
in last change.
From-SVN: r11754
* h8300.md: Add more comments about things which seem
wrong, stupid, or just don't make any sense yet.
* h8300.c (adds_subs_operand): New function.
(output_adds_subs): New function.
* h8300.md (addhi3): Turn into a define_expand.
(addhi3 using adds_subs): New pattern.
(H8300 addhi): Derived from old addhi pattern. Simplified.
(H8300H addhi): Likewise.
(addsi using adds_subs): New pattern. Only used on H8300H.
(addsi_h8300): Allow "a" registers as destination.
(addsi_h8300h): Simplify. Allow "a" registers as destination.
* h8300.md (bcs): New attribute type.
(default_length): Compute correct length for bcs insns.
(bcs_qiqi, bcs_hihi, bs_hiqi): Use new type and update
to account for correct length computation.
* h8300.md (movhi_internal): Demand at least one operand to
be a register.
(movsi_h8300): Optimize loading certain constants.
(movsi_h8300h): Likewise.
* h8300.h (NO_FUNCTION_CSE): Comment out.
(FUNCTION_ARG_REGNO_P): Properly define for TARGET_QUICKCALL.
(RETURN_IN_MEMORY): Don't return small structs in regs.
From-SVN: r11751
* config.guess: Combine two OSF1 rules.
Also recognize field test versions. From mjr@zk3.dec.com.
* config.guess (dgux): Use /usr/bin/uname rather than uname,
because GNU uname does not support -p. From pmr@pajato.com.
From-SVN: r11712
* h8300/h8300.c (print_operand): Handle new 'R' case for accessing
the 8-bit area. Make code for 'Y' fall into code for 'R' when
operand is not a register. Update some comments.
(h8300_tiny_data_p): New function.
(h8300_valid_machine_decl_attribute): Handle "tiny_data" attribute.
* h8300/h8300.h (OK_FOR_U): Handle memory references into the
8-bit area.
(ENCODE_SECTION_INFO): Mark SYMBOL_REFs which refer to the 8-bit
area.
* h8300/h8300.md (many patterns): Use 'R' rather than 'X' for
operands that may be memory accesses into the 8-bit area.
(btst pattern): New pattern to set the cc0 (zbit) based on
data in the 8-bit area.
* h8300/h8300.md (one_cmplsi2): Fix length computation for h8300h.
From-SVN: r11707
* lib1funcs.asm (modnorm): New function(s). Like divnorm,
but gets the sign bit right for modulo operations.
(__modhi3, modsi3): Use modnorm.
From-SVN: r11701