This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
patches applied to sh-elf-4_1-branch
- From: Joern RENNECKE <joern dot rennecke at st dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 04 May 2005 23:06:10 +0100
- Subject: patches applied to sh-elf-4_1-branch
Since the patches are available via cvs and the cvs mailing list, I
assume there is no point in posting more than the ChangeLog to the
patches list. I've already posted an patch for PR middle-end/20371
against mainline. If you'd really like to see a full gcc-patches
message for each change on the branch, please speak up.
testsuite:
2005-05-04 J"orn Rennecke <joern.rennecke@st.com>
* gcc.dg/pr15784-3.c: Add -fno-finite-math-only option.
2005-04-29 J"orn Rennecke <joern.rennecke@st.com>
* gcc.dg/20021029-1.c: For sh64*-*-*, add -mpt-fixed.
gcc:
2005-05-04 J"orn Rennecke <joern.rennecke@st.com>
PR middle-end/20371:
* tree.h (record_layout_info_s): New member prev_packed.
* stor-layout.c (update_alignment_for_field): Fix comment about
KNOWN_ALIGN. For MS bitfields, if we start a new run, make sure
we start it properly aligned.
(place_field): At the beginning of a record, pass 0 as KNOWN_ALIGN
to update_alignment_for_field, and recompute it afterwards using
the alignment of the record.
When a packed bitfield precedes an MS bitfield, don't add padding
at the end of the packed bitfield on behalf of the base type of
the packed bit field.
Take possible record alignment > BIGGEST_ALIGNMENT into account
when calculating actual_align.
Only put packed bit fields into rli->prev_field if they end up
suitably aligned.
Update rli->remaining_in_alignment when we have already started a
run of bit fields and we process a packed bit field.
2005-05-04 J"orn Rennecke <joern.rennecke@st.com>
* config/sh/sh-modes.def (PDImode): Add.
* config/sh/sh-protos.h (shmedia_prepare_call_address): Declare.
* config/sh/sh.c (print_operand): Handle IF_THEN_ELSE.
(target_reg_operand): Allow PDImode.
(sh_register_move_cost): If neither sh_gettrcost_str nor
TARGET_PT_FIXED is set, assume gettr costs 100.
(shmedia_prepare_call_address): New function.
(sh_gettrcost_str): Initialize to empty string.
(sh_divsi3_libfunc): New variable.
* config/sh/sh.h (PT_FIXED_BIT, TARGET_INVALID_SYMBOLS): Define.
(TARGET_SWITCH_SH5_32_ANY_EXTRA): Likewise.
(TARGET_SWITCH_SH5_MEDIA_ANY_EXTRA): Likewise.
(TARGET_SWITCHES): Use TARGET_SWITCH_SH5_32_ANY_EXTRA and
TARGET_SWITCH_SH5_MEDIA_ANY_EXTRA.
(TARGET_OPTIONS): Add -mdivsi3_libfunc.
(OVERRIDE_OPTIONS): Set sh_divsi3_libfunc if it hasn't been set
by the user.
Also set flag_no_function_cse for (TARGET_SHMEDIA &&
!TARGET_PT_FIXED).
(HARD_REGNO_MODE_OK): Allow TARGET_REGS in PDImode.
(CONSTRAINT_LEN): Remove debug version.
(SECONDARY_INOUT_RELOAD_CLASS:) Break out of
(SECONDARY_OUTPUT_RELOAD_CLASS). Use EXTRA_CONSTRAINT_Csy for check
if a target register needs a secondary reload through GENERAL_REGS.
(SECONDARY_INPUT_RELOAD_CLASS): Use SECONDARY_INOUT_RELOAD_CLASS.
(sh_divsi3_libfunc): Declare.
(FUNCTION_PROFILER): Provide SHMEDIA version.
* config/sh/sh.md (predicates.md): Include.
(divsi_inv_call_combine, divsi3): Use sh_divsi3_libfunc.
(reload_insi): Fix predicates and constraints.
(ptabs): New expander.
(*extendsipdi_media, *truncdipdi_media): New insns.
(call, call_value, sibcall): Use shmedia_prepare_call_address.
* doc/invoke.texi (-multcost, -mdiv): Document new SH options.
(-mdivsi3_libfunc, -madjust-unroll, -mindexed-addressing): Likewise.
(-mgettrcost, -mpt-fixed, -minvalid-symbols): Likewise.
2005-04-29 J"orn Rennecke <joern.rennecke@st.com>
* jump.c: Merge from mainline version 1.260.