Commit Graph

40887 Commits

Author SHA1 Message Date
Adam Megacz 1e41e84370 exception.cc (_Jv_Throw, [...]): Changed std::abort() to simply abort().
2002-02-11  Adam Megacz <adam@xwt.org>

    * exception.cc (_Jv_Throw, PERSONALITY_FUNCTION): Changed
    std::abort() to simply abort(). Also added "fake" std::abort() so
    we can #include unwind-pe.h without having to link against
    libstdc++-v3.

From-SVN: r49685
2002-02-11 22:28:58 +00:00
John David Anglin d6e06ddc10 gcc.c (init_gcc_specs): Add static libgcc to link when "-shared" is specified.
* gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
	is specified.
	* config/pa/pa-linux.h (LIB_SPEC): Delete.
	* config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.

From-SVN: r49684
2002-02-11 22:14:25 +00:00
Zack Weinberg cabb228b12 * gcc.pot: Regenerate.
From-SVN: r49683
2002-02-11 19:49:47 +00:00
Aaron W. LaFramboise 4e2f8bcf6f locale_facets.tcc (collate::do_hash): Fix.
2002-02-11  Aaron W LaFramboise  <AWLaFramboise@aol.com>

	* include/bits/locale_facets.tcc (collate::do_hash): Fix.
	* testsuite/22_locale/collate_members_char.cc (test03): New test.
	* testsuite/22_locale/collate_members_wchar_t.cc (test03): Same.

From-SVN: r49682
2002-02-11 18:56:24 +00:00
Adam Megacz df61a3d22a configure.in: support for win32, saner cross-compile options
2002-02-11  Adam Megacz <adam@xwt.org>

        * gcc/boehm-gc/configure.in: support for win32, saner
        cross-compile options

From-SVN: r49681
2002-02-11 18:31:10 +00:00
Franz Sirl b150efee39 re PR libobjc/4039 (installation location of libobjc is wrong)
2002-02-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	PR libobjc/4039
	* aclocal.m4: Replace with version copied from libstdc++-v3.
	* configure.in: Update for changes to aclocal and Makefile.
	* configure: Regenerate.
	* Makefile.in: Correct install of multilibs and shared libs, use
	INSTALL_DATA for include files.

From-SVN: r49680
2002-02-11 18:10:05 +00:00
Andrew Haley 515342a8f0 stormy16.md (zero_extendqihi2): New.
2002-02-11  Andrew Haley  <aph@cambridge.redhat.com>

        * config/stormy16/stormy16.md (zero_extendqihi2): New.

From-SVN: r49679
2002-02-11 17:04:31 +00:00
Jason Merrill e6b9638bff parse.y (reserved_declspecs): Don't handle attributes.
* parse.y (reserved_declspecs): Don't handle attributes.
        (reserved_typespecquals): Handle them here.
        * Make-lang.in (parse.c): Adjust expected conflicts.

From-SVN: r49678
2002-02-11 10:52:20 -05:00
Jason Merrill d6b2c47474 mention NRVO
From-SVN: r49677
2002-02-11 10:24:37 -05:00
Alexandre Oliva 66df7a985f regrename.c (regrename_optimize): Don't accept a part-clobbered register if the replaced register is not part...
* regrename.c (regrename_optimize): Don't accept a
part-clobbered register if the replaced register is not part
clobbered.

From-SVN: r49676
2002-02-11 13:35:14 +00:00
Alexandre Oliva 841404cd71 calls.c (store_one_arg): In the non-BLKmode non-partial case...
* calls.c (store_one_arg): In the non-BLKmode non-partial case,
take padding into account when computing the argument value.

From-SVN: r49675
2002-02-11 13:33:07 +00:00
Alexandre Oliva 1d1ade42a5 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
From-SVN: r49674
2002-02-11 08:37:07 +00:00
GCC Administrator 4210cb5b17 Daily bump.
From-SVN: r49672
2002-02-11 08:16:16 +00:00
Aldy Hernandez 100c45611f rs6000.c (altivec_init_builtins): Handle __builtin_altivec_abs*.
2002-02-06  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.c (altivec_init_builtins): Handle
        __builtin_altivec_abs*.
        (bdesc_abs): New.

        * config/rs6000/rs6000.h (rs6000_builtins): Add
        ALTIVEC_BUILTIN_ABS*.

        * config/rs6000/altivec.h: Use const char for builtins expecting
        literals.
        (vec_abs): New versions for C and C++.
        (vec_abss): Same.

From-SVN: r49671
2002-02-11 06:15:37 +00:00
Alexandre Oliva cddd8b72ad combine.c (try_combine): Apply substitutions in CALL_INSN_FUNCTION_USAGE too.
* combine.c (try_combine): Apply substitutions in
CALL_INSN_FUNCTION_USAGE too.

From-SVN: r49670
2002-02-11 06:07:03 +00:00
Aldy Hernandez 5c665b884d rs6000.c (altivec_init_builtins): Handle __builtin_altivec_abs*.
2002-02-06  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.c (altivec_init_builtins): Handle
        __builtin_altivec_abs*.
        (bdesc_abs): New.

        * config/rs6000/rs6000.h (rs6000_builtins): Add
        ALTIVEC_BUILTIN_ABS*.

        * config/rs6000/altivec.h: Use const char for builtins expecting
        literals.
        (vec_abs): New versions for C and C++.
        (vec_abss): Same.

From-SVN: r49669
2002-02-11 06:05:05 +00:00
Kazu Hirata 3494f1b40f h8300.h (INITIALIZE_TRAMPOLINE): Simplify by using Pmode.
* config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
	using Pmode.

From-SVN: r49668
2002-02-11 04:35:57 +00:00
Kazu Hirata 72431aef26 h8300.h (STACK_POINTER_REGNUM): Use the constant definition from h8300.md.
* config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
	constant definition from h8300.md.
	(FRAME_POINTER_REGNUM): Likewise.
	* config/h8300/h8300.md (define_constants): Add FP_REG.

From-SVN: r49667
2002-02-11 04:31:33 +00:00
Kazu Hirata 87e4ee9193 * config/h8300/h8300.c (print_operand): Remove redundant code.
From-SVN: r49666
2002-02-11 04:26:58 +00:00
Kazu Hirata 9c188705dc h8300-protos.h: Remove the prototype for byte_reg.
* config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
	* config/h8300/h8300.c (byte_reg): Make it static.

From-SVN: r49665
2002-02-11 04:21:53 +00:00
Richard Henderson 2613bd56ac New.
From-SVN: r49664
2002-02-10 18:37:37 -08:00
Richard Henderson fba78abb53 re PR c/5623 (GCC 3.0.3 crashes when assigning pointer to an array of undefined size which is member of a struct)
PR c/5623
        * c-typeck.c (incomplete_type_error): Handle flexible array members.

From-SVN: r49663
2002-02-10 18:28:00 -08:00
Richard Henderson 65739e62e4 re PR c++/5624 (Strange bug with preprocessed file containing structs)
PR c++/5624
        * tree.c (append_random_chars): Don't abort if main_input_filename
        does not exist.

From-SVN: r49662
2002-02-10 18:12:41 -08:00
Hans-Peter Nilsson 247cb9df4b * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
From-SVN: r49661
2002-02-11 00:33:08 +00:00
Tom Tromey 62deb2118b For PR java/5641:
* libjava.compile/PR5641.xfail: New file.
	* libjava.compile/PR5641.java: New file.

From-SVN: r49660
2002-02-11 00:18:52 +00:00
Rainer Orth 96b9910446 libjava.exp (libjava_find_lib): Remove duplicate .la files.
2002-02-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* lib/libjava.exp (libjava_find_lib): Remove duplicate .la files.

From-SVN: r49659
2002-02-11 00:01:11 +00:00
Kazu Hirata 0b8c0d4e30 961203-1.x: Disable on h8300 port.
* gcc.c-torture/compile/961203-1.x: Disable on h8300 port.
	* gcc.c-torture/compile/980506-1.x: Likewise.

From-SVN: r49658
2002-02-10 20:37:22 +00:00
Kazu Hirata b516907f33 * gcc.dg/20020210-1.c: New.
From-SVN: r49657
2002-02-10 20:30:10 +00:00
Kazu Hirata 232bd029ee h8300.md (pushhi1_h8300): Correct the mode used.
* config/h8300/h8300.md (pushhi1_h8300): Correct the mode
	used.
	(pushhi1): Likewise.

From-SVN: r49656
2002-02-10 20:24:16 +00:00
Andreas Tobler 1347adff0d interpret.cc (continue1): Use PUSHL, not PUSHI.
2002-02-10  Andreas Tobler  <toa@pop.agri.ch>

	* interpret.cc (continue1) [insn_f2l]: Use PUSHL, not PUSHI.

From-SVN: r49655
2002-02-10 18:32:48 +00:00
John David Anglin 276ef573ed pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
* pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
	* pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.

From-SVN: r49654
2002-02-10 17:27:55 +00:00
Phil Edwards 02669b681e stl_algo.h (transform (both signatures), generate_n): Use __typeof__ in concept checks.
2002-02-10  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/stl_algo.h (transform (both signatures), generate_n):
	Use __typeof__ in concept checks.

From-SVN: r49653
2002-02-10 09:05:46 +00:00
Jonathan Wakely c0d8816157 stl_algo.h (__median, [...]): Doxygenate.
2002-02-10  Jonathan Wakely  <cow@compsoc.man.ac.uk>

	* include/bits/stl_algo.h (__median, for_each, find, find_if,
	adjacent_find, count, count_if, search, search_n, swap_ranges,
	transform, replace, replace_if, replace_copy, replace_copy_if,
	generate, generate_n, remove_copy, remove_copy_if, remove, remove_if,
	unique, unique_copy, reverse, reverse_copy):  Doxygenate.

From-SVN: r49652
2002-02-10 09:00:41 +00:00
GCC Administrator 3439e039a2 Daily bump.
From-SVN: r49650
2002-02-10 08:16:27 +00:00
David O'Brien 617e9ee588 freebsd.h (TARGET_DEFAULT): Add MASK_EPILOGUE setting and remove MASK_VIS.
2002-02-09  David O'Brien  <obrien@FreeBSD.org>
	* config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
	remove MASK_VIS.
	(ASM_CPU_DEFAULT_SPEC): Remove.  Default setting is fine.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20020208111342.A4426@redhat.com>

From-SVN: r49649
2002-02-09 21:51:56 +00:00
Kazu Hirata 6dfa4005a2 h8300.c (output_logical_op): Use sub.w to clear a half of an SImode register on H8/300.
* config/h8300/h8300.c (output_logical_op): Use sub.w to clear
	a half of an SImode register on H8/300.

From-SVN: r49648
2002-02-09 21:49:23 +00:00
Toon Moene 3611ccb484 re PR fortran/947 (Data statement initialization of an array element whose index is)
2002-02-09  Toon Moene  <toon@moene.indiv.nluug.nl>

	* g77.f-torture/execute/947.f: New regression test
	for PR fortran/947.

From-SVN: r49647
2002-02-09 21:43:29 +00:00
Toon Moene 23b293843e data.c (ffedata_eval_offset_): Convert non-default integer constants to default integer kind if necessary.
2002-02-09  Toon Moene  <toon@moene.indiv.nluug.nl>

	* data.c (ffedata_eval_offset_): Convert non-default integer
	constants to default integer kind if necessary.

From-SVN: r49646
2002-02-09 21:39:08 +00:00
Jan Hubicka 749e7b80f6 * i386.md (movdi_2): Add missing '!'.
From-SVN: r49640
2002-02-09 17:53:58 +00:00
Kazu Hirata ca77d87c47 h8300.h: Fix formatting.
* config/h8300/h8300.h: Fix formatting.  Remove commented-out
	definitions.

From-SVN: r49639
2002-02-09 17:31:50 +00:00
Kazu Hirata 16c9630430 h8300.md (length): Correct the distance valid for the short branch.
* config/h8300/h8300.md (length): Correct the distance valid
	for the short branch.

From-SVN: r49637
2002-02-09 17:19:00 +00:00
Toon Moene 3450d4db0d invoke.texi: Add a short debugging session as an example to the documentation of -g.
2002-02-09  Toon Moene  <toon@moene.indiv.nluug.nl>

	* invoke.texi: Add a short debugging session
	as an example to the documentation of -g.

From-SVN: r49636
2002-02-09 09:27:11 +00:00
GCC Administrator 2fd85a75ab Daily bump.
From-SVN: r49634
2002-02-09 08:16:15 +00:00
Kazu Hirata a364bc90a3 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
From-SVN: r49633
2002-02-09 05:16:25 +00:00
Alexandre Oliva a138247b54 sh.h (REGISTER_NATURAL_MODE): Save part-clobbered registers in SImode.
* config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
registers in SImode.
(HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
part-clobbered.

From-SVN: r49632
2002-02-09 03:58:50 +00:00
Alexandre Oliva 2b1fd83f62 sh.c (expand_prologue): Fix mis-applied 2001-11-09's patch.
* config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
patch.

From-SVN: r49631
2002-02-09 03:51:25 +00:00
Alexandre Oliva fa5322fa58 Contribute sh64-elf.
2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
(sh_cannot_modify_jumps_p): New function.
2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
(sh_ms_bitfield_layout_p): New function.
2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
	    Zack Weinberg  <zack@codesourcery.com>
* config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
expand_simple_binop instead of expand_binop.
2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
use of .quad and .uaquad.
* config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (movdi_const, movdi_const_32bit,
movdi_const_16bit): Make sure all CONSTs have modes.
(sym2PIC): Ditto, but by adjusting all callers.
* config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
if the prologue calls the SHmedia argument decoder or register
saver.
2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
(TARGET_ASM_ALIGNED_DI_OP): Likewise.
(sh_expand_epilogue): Don't emit USE of return target register.
(prepare_move_operands): Legitimize DImode PIC addresses.
(sh_media_register_for_return): Skip tr0, used to initialize the
PIC register.
(sh_expand_prologue): Remove explicit USE of return register.
(nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
* config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
(OVERRIDE_OPTIONS): Don't disable PIC on SH5.
(EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
EXTRA_CONSTRAINT_T.
(GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
(MOVI_SHORI_BASE_OPERAND_P): New.
(NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
(EXTRA_CONSTRAINT_T): Define in terms of them.
(OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
* config/sh/sh.md (movsi_media, movsi_media_nofpu,
movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
alternatives supporting TARGET_REGS.
(UNSPEC_GOTPLT): New constant.
(movdi split): Move incrementing of LABEL_NUSES...
(movdi_const, movdi_const_32bit): Here.  Use
MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
(movdi_const_16bit): New.
(call, call_value) [flag_pic]: Use GOTPLT.
(call_pop, call_value_pop): New expands.
(call_pop_compact, call_pop_rettramp): New insns.
(call_value_pop_compact, call_value_pop_rettramp): New insns.
(sibcall) [flag_pic]: Use GOT.
(builtint_setjmp_receiver): Remove bogus, unused expand.
(GOTaddr2picreg): Implement for SHcompact and SHmedia.
(*pt, *ptb, ptrel): New insns.
(sym2GOT): Handle DImode GOT.
(sym2GOTPLT, symGOTPLT2reg): New expands.
(sym2PIC): New expand.
(shcompact_return_tramp): Use GOTPLT to return trampoline.
(shcompact_return_tramp_i): Use return register explicitly.
* config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
disable flag_reorder_blocks.
2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (sibcall_compact): Reorder return, uses and
clobbers, for clarity.
(sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
restoring of r0 in macl as MAYBE_DEAD.
2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
* config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
alter_subreg all over.
(jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
reload, instead of emitting instructions that would require
reloading.
(casesi_load_media): Add missing modes.
2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (sh_expand_prologue): Mark the PIC register
as used if the argument decoder is called.
2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
Pmode, then extend it to DImode if necessary.
2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
* config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
constants in FPU-enabled SHmedia, let them be loaded from memory.
2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
Adjust whitespace in assembly output templates.
2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
* config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
mode of if_then_else.
2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
sh.h.
2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
	    Joern Rennecke <amylaar@redhat.com>
* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
(SUBTARGET_CPP_PTR_SPEC): New.
(SUBTARGET_CPP_SPEC): Remove.
2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
* config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
Fix typo in previous checkin.
2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
* config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
	    Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
what single FP register can hold for SHmedia target.
2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
	    Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
Do not split into SUBREG.
2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
and added new functions as specified in SH5 ABI r9.
2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
8-byte boundary.
2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (dump_table): Add const0_rtx in calls of
gen_consttable_4 and gen_consttable_8.  Emit multiple labels
and consttable_window_ends.
2001-06-03  Graham Stott  <grahams@redhat,com>
* config/sh/sh.md (movdi split): Remove unused variable last_insn.
2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (print_operand): Handle floating-point pair,
vector and matrix registers.
* config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
vector modes into account.
* config/sh/sh.md (movv2sf): Split move between registers into
movdf.
(movv4sf, movv16sf): Introduce insns that get split only after
reload.
* config/sh/shmedia.h: Fix Copyright dates.
* config/sh/ushmedia.h: Likewise.  Move loop counter
declarations into conditionals that uses them.
(sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
loop boundary.
* config/sh/sshmedia.h: Fix Copyright dates.
(sh_media_PUTCFG): Fix constraints.
2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
ptrmemfunc_vbit_in_delta for SH5.
2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
* invoke.texi: Likewise.
2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
GCC_pop_shmedia_regs_nofpu): New global symbols.
* config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
* config/sh/sh.c (calc_live_regs): Account for PR's saving in
compact function with nonlocal labels.
(sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
(sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
(initial_elimination_offset): Account for their stack space.
* config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
* config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
least one of the operands to be a register.
(movv2sf): Likewise.  Renamed to movv2sf_i.
(movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
prepare_move_operands() before emitting SHmedia insns.
2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
Don't save nor initialize r12.  Don't mis-align the stack.
Pad the code with a nop.
* config/sh/crti.asm: Don't restore r12.  Don't mis-align the
stack.
2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
* gcc/longlong.h (__umulsidi3, count_leading_zeros)
[__SHMEDIA__]: Implement.
2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md: Set latency of `pt' closer to reality.
(movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
Set move, load and store type attributes.
* config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
* config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
profiling.
* config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
* config/sh/sh-protos.h (sh_media_register_for_return): Declare.
* config/sh/sh.c (sh_media_register_for_return): New function.
(sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
branch-target register.
(sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
* config/sh/sh.md (return_media_i): Use any call-clobbered
branch-target register.
(return_media): If r18 wasn't copied in the prologue, copy it
here.
* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
Clear class FP0_REGS.
* config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
from elf.h.
2001-03-08  DJ Delorie  <dj@redhat.com>
* config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (sibcall_compact): Set fp_mode to single.
2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
return value correctly for call_cookie.
2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/crt1.asm (start): Modified so as to call
___setup_argv_and_call_main.
2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
SHmedia mode.
2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
(STRIP_NAME_ENCODING): Use it.
(ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
prepare_scc_operands().
* config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
(DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
* config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
used in shcompact_incoming_args.
* config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
change.
* config/sh/crt1.asm (start) [SH5]: Switch to single-precision
mode.
* config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
Adjust accordingly.
* config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
Simplify.  Adjust.  Add sanity check.
* config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
FPU_SINGLE_BIT.
* config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
TARGET_SHCOMPACT.
(udivsi3, divsi3): Use them.
(force_mode_for_call): New insn.
(call, call_value, sibcall_value): Emit it before SHcompact
calls.
2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (call, call_value, sibcall): Make sure the
call cookie is non-NULL before taking its value.
2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
* config.gcc (sh64): Set target_requires_64bit_host_wide_int.
2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (shcompact_incoming_args): Set argument memory
block.
* config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
* config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
temporary for stack adjusts.  Use MACL and MACH to pass
arguments to shcompact_incoming_args.
* config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
clobber r1.
* config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
(nested_trampoline): Load static chain address into r1.
* config/sh/sh.md (movdi_media splits): Fix sign-extension.
2001-01-07  Alexandre Oliva  <aoliva@redhat.com
* config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
fp_arith_reg_operand().
2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (casesi): Sign-extend the first two operands,
and use signed compares for them.
* config/sh/sh.c (dump_table): Don't emit 8-byte constants after
4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
ones properly aligned.
(find_barrier): Account for extra alignment needed for 8-byte wide
constants.
(machine_dependent_reorg): Require a label for the second 4-byte
constant after an 8-byte one.
* config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
change.
2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
last_float when switching float modes.
* config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
auto-increment for general-purpose registers.
* config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
result.
* config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
for stack adjust.
* config/sh/sh.c (sh_builtin_saveregs): Support using all
registers for varargs.
2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
* config/sh/sh.h (CALL_COOKIE_STACKSEQ,
CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
(CALL_COOKIE_INT_REG_SHIFT): Adjust.
(FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
call_cookie accordingly.
(FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
(SHCOMPACT_BYREF): Likewise.
(SHCOMPACT_FORCE_ON_STACK): New macro.
* config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
(sh_builtin_saveregs): Likewise.
* config/sh/lib1funcs.asm (shcompact_call_trampoline,
shcompact_incoming_args): Use new shift values.  Support
sequences of consecutive and non-consecutive pushes/pops.
* config/sh/sh.md (return): Don't explicitly use PR_REG.
2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
* config/sh/sh.h (TEXT_SECTION): Define.
* config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
* config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
return values on FPU-enabled SHmedia.
(FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
FPU-enabled SHmedia.
(INIT_CUMULATIVE_ARGS): Set up return trampoline only if
value is returned in a non-FP reg and is not returned by
reference.
* config/sh/sh.md (shcompact_return_tramp_i): Change type to
jump_ind.
2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
(FUNCTION_ARG_CALLEE_COPIES): Require argument to be
quad-aligned to be passed by callee-copy reference.
2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
* config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
copying low-numbered FP regs to r7 and r8.
* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
FP regs to general-purpose regs only if the copy was passed on the
stack.
* config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
copying FP reg to r9.
* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
copy FP regs to general-purpose regs only in outgoing calls.
* config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
change from 	2000-10-30.  Adjust for 64-bit (or 32-bit)
HOST_WIDE_INT.
* config/sh/sh.h (struct sh_args): Document all fields.
(FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
passed partially on the stack should not consider making
sibcalls.
* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
stack_regs only for incoming calls.  When passing FP args,
make sure there are FP regs available before modifying
call_cookie.
(SHCOMPACT_BYREF): Pass double args in general-purpose
registers by reference.
2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
attempt to generate sibcalls if the caller got any arguments
by reference.
* config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
* config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
to 8-byte boundaries.
* config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
* config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
* config/sh/sh.c (sh_expand_prologue): Preserve args that will be
stored in the stack.
* config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
for the offsets to have the ISA bit set.
(shcompact_call_trampoline): Document.  Swap r0 and r1, to match
invocation.  Use beq instead of bgt to mark end of sequence of
loads.
(shcompact_incoming_args): Fix store of r2.  Use beq instead of
bgt to mark end of sequence of stores.
* config/sh/sh.c (arith_operand): Don't check whether
CONST_OK_FOR_J for now.
* config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
instead of long for conversion.
2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.c (print_operand_address): Convert INTVAL to int
before passing it to fprintf.
2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
Call set_fpscr before reading/writing SR.
* config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
Call set_fpscr.
* config/sh/lib1funcs.asm: Add `.align 2' directives before
SHmedia code.
(FMOVD_WORKS): Define on SH5 with FPU.
(set_fpscr): Define on SH5.  Remove separate _fpscr_values
setting.
* config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
_fpscr_values.
2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
* config/sh/lib1funcs.asm (ct_main_table): Align contents to even
address.
(ia_main_table): Ditto.
2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
* config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
the definitions from sh.h.
* config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
TARGET_SH5.
(SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
* config/sh/elf.h (PTRDIFF_TYPE): Likewise.
* config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
* config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
Increment LABEL_NUSES.

From-SVN: r49630
2002-02-09 03:08:08 +00:00
Alexandre Oliva 7aa00daf45 ptrmem.C: Lowest bit is significant on SH5.
* g++.old-deja/g++.abi/ptrmem.C: Lowest bit is significant on SH5.
* g++.old-deja/g++.jason/thunk3.C: XFAIL on sh64-*-*.

From-SVN: r49629
2002-02-09 03:06:47 +00:00
Alexandre Oliva 40fe0ec3ce config.guess: Updated to 2002-01-30's version.
* config.guess: Updated to 2002-01-30's version.
* config.sub: Updated to 2002-02-01's version.
Contribute sh64-elf.
2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
* configure.in: Added sh64-*-*.

From-SVN: r49628
2002-02-09 03:00:13 +00:00
Alexandre Oliva e4ec2cac3f hooks.c: New file.
* hooks.c: New file.
* hooks.h: New file.
* Makefile.in (HOOKS_H): New.
(TARGET_DEF_H): Added $(HOOKS_H).
(OBJS): Added hooks.o.
(cfgcleanup.o, bb-reorder.o): Added target.h.
(hooks.o): Added dependencies.
* target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
(TARGET_INITIALIZER): this.
* doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
* target.h (struct gcc_target): Added cannot_modify_jumps_p.
* bb-reorder.c: Include target.h.
(reorder_basic_blocks): Skip if cannot modify jumps.
* cfgcleanup.c: Include target.h.
(try_optimize_cfg): Skip merge blocking if cannot modify jumps.

From-SVN: r49627
2002-02-09 02:18:12 +00:00