Commit Graph

7910 Commits

Author SHA1 Message Date
Jakub Jelinek
f0b0e152ed Change dynamic linker name to conform to current glibc. From Jakub Jelinek.
* config/ia64/linux.h (LINK_SPEC): Use /lib/ld-linux-ia64.so.1
	as the dynamic linker.

From-SVN: r33584
2000-05-01 13:23:37 -07:00
Jeff Law
2f9b43773f Update copyrights.
From-SVN: r33579
2000-05-01 11:32:22 -06:00
Jeff Law
0d1cd67541 Update copyright.
From-SVN: r33578
2000-05-01 11:31:40 -06:00
Alexandre Oliva
79e4122c87 mn10300.c (print_operand_address): Do not add zero to SP.
* config/mn10300/mn10300.c (print_operand_address): Do not add
zero to SP.

From-SVN: r33577
2000-05-01 17:28:26 +00:00
Jeff Law
c30b633064 Update copyrights.
From-SVN: r33576
2000-05-01 11:24:23 -06:00
Jeff Law
694805a8c1 Update copyright
From-SVN: r33575
2000-05-01 11:18:52 -06:00
Jeff Law
a864ec13a6 Update copyright.
From-SVN: r33574
2000-05-01 11:17:55 -06:00
Alexandre Oliva
ed6089d61b mn10300.c (expand_epilogue): If SP is to be adjusted by less than 256 bytes...
* config/mn10300/mn10300.c (expand_epilogue): If SP is to be
adjusted by less than 256 bytes, use ret regardless of having any
callee-saved register to restore.

From-SVN: r33573
2000-05-01 17:09:05 +00:00
Mark Elbrecht
52e45a606d djgpp.h (INT_ASM_OP): Define.
* config/i386/djgpp.h (INT_ASM_OP): Define.
        (CPP_PREDEFINES): Rename MSDOS to __MSDOS__.
        (ASM_WEAKEN_LABEL): Define.
        (MASK_BNU210): Define.
        (SUBTARGET_SWITCHES): Define.
        (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Define.
        (MAKE_DECL_ONE_ONLY): Define.
        (UNIQUE_SECTION_P, UNIQUE_SECTION): Define.

From-SVN: r33570
2000-05-01 10:50:49 -06:00
Mumit Khan
eb70f6289c * i386/cygwin.h (INT_ASM_OP): Define.
From-SVN: r33569
2000-05-01 10:47:22 -06:00
Denis Chertykov
afd1bb919d avr.c (address_cost): renamed to avr_address_cost.
* config/avr/avr.c (address_cost): renamed to avr_address_cost.
	* config/avr/avr.h (ADDRESS_COST): use avr_address_cost.

From-SVN: r33568
2000-05-01 18:37:11 +04:00
Denis Chertykov
368256d894 avr.c (asm_file_start): output 0 as r0 and 1 as r1 in __tmp_reg__ and __zero_reg__ initialization.
* config/avr/avr.c (asm_file_start): output 0 as r0 and 1 as r1 in
	__tmp_reg__ and __zero_reg__ initialization.

From-SVN: r33567
2000-05-01 18:11:51 +04:00
Richard Henderson
a5c874cb02 d30v: New port.
* config/d30v: New port.

        * configure.in (d30v-*): Set fp format.
        * configure: Rebuild.

From-SVN: r33548
2000-04-30 04:17:13 -07:00
Richard Henderson
927b868f8c t-crtbe (crtbegin.o): Add "-I.".
* config/alpha/t-crtbe (crtbegin.o): Add "-I.".
        (crtend.o, crtbeginS.o, crtendS.o): Likewise.

From-SVN: r33546
2000-04-30 03:56:21 -07:00
Richard Henderson
10d1117cbc crtend.asm: Use C comments instead of #.
* config/alpha/crtend.asm: Use C comments instead of #.
        * config/alpha/crtbegin.asm: Likewise.  Mark __dso_handle hidden.

        * config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL.

From-SVN: r33537
2000-04-29 14:12:45 -07:00
Alexandre Oliva
a47944e2be mn10300.h (FIRST_DATA_REGNUM, [...]): New macros.
* config/mn10300/mn10300.h (FIRST_DATA_REGNUM,
LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM,
FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros.
(REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM.
(REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P,
REGNO_AM33_P): Redefine in terms of the new macros.
(CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
(FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
STRUCT_VALUE): Likewise.
(STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise.  Moved.

From-SVN: r33534
2000-04-29 15:28:42 +00:00
Kazu Hirata
f40a8c0363 h8300.c (function_epilogue): Clean up flags when the last insn in a function is a barrier.
* h8300.c (function_epilogue): Clean up flags when the last insn
        in a function is a barrier.

From-SVN: r33521
2000-04-28 15:51:42 -06:00
Ulrich Drepper
d8b2fb5235 i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference for call instruction with mode QImode.
* i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference
        for call instruction with mode QImode.

From-SVN: r33499
2000-04-28 01:54:53 +00:00
Alexandre Oliva
b340d2b8de mn10300.md (movhi): Simplify.
* config/mn10300/mn10300.md (movhi): Simplify.  Prefer data
registers.

From-SVN: r33489
2000-04-27 15:49:20 +00:00
Jan Hubicka
01329426bf cse.c (CSE_ADDRESS_COST): Remove.
* cse.c (CSE_ADDRESS_COST): Remove.
	(find_best_addr): Add new parameter "MODE", use address_cost instead
	of CSE_ADDRESS_COST
	(address_cost): New.
	(fold_rtx): Update call of find_best_addr.
	* rtl.h (address_cost): Declare.
	* loop.c (general_induction_var): Add new parameter "MODE", use
	address_cost instead of ADDRESS_COST
	(init_loop): Use address_cost instead of ADDRESS_COST.
	(check_insn_for_givs): Update call of general_induction_var.
	(find_mem_givs): Likewise.
	(consec_sets_giv): Likewise.
	* config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost.
	* i386.c (ix86_address_cost): New.
	* i386-protos.h (ix86_address_cost): Declare.

From-SVN: r33486
2000-04-27 14:56:47 +00:00
Alexandre Oliva
5e849f6e86 mn10300.md (movqi): Simplify.
* config/mn10300/mn10300.md (movqi): Simplify.  Prefer data
registers.

From-SVN: r33485
2000-04-27 14:46:55 +00:00
Alexandre Oliva
d82704fbb1 mn10300.c (mn10300_address_cost): Test ASHIFT, AND and LABEL_REF.
* config/mn10300/mn10300.c (mn10300_address_cost): Test
ASHIFT, AND and LABEL_REF.

From-SVN: r33482
2000-04-27 13:39:09 +00:00
Rodney Brown
466d45de58 pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal.
* pa/pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal.
        * pa/pa64-regs.h (HARD_REGNO_MODE_OK): Warning removal.

From-SVN: r33449
2000-04-26 13:07:28 -06:00
Andreas Jaeger
70576b754e linux.h: Remove erroneous commit of #if 0/#endif in last patch.
2000-04-26  Andreas Jaeger  <aj@suse.de>

	* config/mips/linux.h: Remove erroneous commit of #if 0/#endif in
	last patch.

From-SVN: r33440
2000-04-26 09:18:26 +02:00
Alexandre Oliva
d25ed420a2 mn10300.h (REG_CLASS_FROM_LETTER): Return EXTENDED_REGS only if TARGET_AM33.
* config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Return
EXTENDED_REGS only if TARGET_AM33.
* config/mn10300/mn10300.md (movsi, addsi): Avoid exposing
SP_REGS to register allocation and reloading unless absolutely
necessary.
(movsi3): Remove special-case of adding non-constants to SP.

From-SVN: r33429
2000-04-26 00:09:52 +00:00
Andrew MacLeod
0c96007e77 Add partial support for IA-64 unwind sections.
* config/ia64/crtbegin.asm: Add IA-64 unwind support.  Correct alloc
	and gp save/restore problems.
	* config/ia64/crtend.asm: Add IA-64 unwind support.
	* config/ia64/ia64.c (ia64_compute_frame_size): Don't include pr_size
	in fr_pad_size calculation.
	...

Co-Authored-By: Andrew Haley <aph@cygnus.com>
Co-Authored-By: Jim Wilson <wilson@cygnus.com>

From-SVN: r33424
2000-04-25 16:16:20 -07:00
Alexandre Oliva
5ed1279917 * config/i386/freebsd.h (INT_ASM_OP): Define.
From-SVN: r33417
2000-04-25 17:10:04 +00:00
Nick Clifton
aaceac0baa Fix bug building libgcc:
Do not generate small add insn if the source register is eliminable.

From-SVN: r33387
2000-04-24 18:48:41 +00:00
Alexandre Oliva
8b2cfbe6ea mn10300.md (addsi): `inc4' on address registers does not modify cc...
* config/mn10300/mn10300.md (addsi): `inc4' on address
registers does not modify cc, but `inc' on an extended
register does.

From-SVN: r33363
2000-04-23 23:28:39 +00:00
Alexandre Oliva
a204fec0cb mn10300.h (REGNO_IN_RANGE_P): New macro.
* config/mn10300/mn10300.h (REGNO_IN_RANGE_P): New macro.
(REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P): New macros.
(REGNO_EXTENDED_P, REGNO_AM33_P): New macros.
(REGNO_OK_FOR_BASE_P): Define in terms of them.
(REGNO_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P): Likewise.
(REG_OK_FOR_BASE_P): Define in terms of the REGNO macro.
(REG_OK_FOR_BIT_BASE_P, REG_OK_FOR_INDEX_P): Likewise.

From-SVN: r33359
2000-04-23 21:40:51 +00:00
Alexandre Oliva
b32eba4a4d Whitespace change
From-SVN: r33332
2000-04-22 00:43:22 +00:00
Alexandre Oliva
7f13af23a5 mn10300.h (REGNO_REG_CLASS): Use NO_REGS instead of explicit 0.
* config/mn10300/mn10300.h (REGNO_REG_CLASS): Use NO_REGS instead
of explicit 0.

From-SVN: r33327
2000-04-21 21:34:19 +00:00
Alexandre Oliva
df6aa9bce7 mn10300.h (REGISTER_MOVE_COST): Provide more accurate data about SP moves.
* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Provide more
accurate data about SP moves.

From-SVN: r33326
2000-04-21 21:32:24 +00:00
Alexandre Oliva
a46ef28535 mn10300.h (ADDITIONAL_REGISTER_NAMES): Added aliases to AM33 registers.
* config/mn10300/mn10300.h (ADDITIONAL_REGISTER_NAMES): Added
aliases to AM33 registers.

From-SVN: r33325
2000-04-21 21:29:46 +00:00
Alexandre Oliva
ac99a3efd0 mn10300.h (REG_CLASS_CONTENTS): Added register 16 to all EXTENDED bitmaps.
* config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Added register 16
to all EXTENDED bitmaps.

From-SVN: r33324
2000-04-21 21:27:20 +00:00
Alexandre Oliva
460ad32502 mn10300-protos.h (mn10300_address_cost): Declare.
* config/mn10300/mn10300-protos.h (mn10300_address_cost): Declare.
* config/mn10300/mn10300.h (ADDRESS_COST): New macro.
* config/mn10300/mn10300.c (mn10300_address_cost): New function.

From-SVN: r33323
2000-04-21 21:19:55 +00:00
Alexandre Oliva
8ca173309f mn10300.md (movdi, movdf): Do not use `movu' when the operand is not constant.
* config/mn10300/mn10300.md (movdi, movdf): Do not use `movu' when
the operand is not constant.

From-SVN: r33321
2000-04-21 21:14:13 +00:00
Richard Kenner
c5e1237fde Add missing blank
From-SVN: r33313
2000-04-21 15:21:50 -04:00
Alexandre Oliva
8493cfcb76 typo
From-SVN: r33305
2000-04-21 13:10:46 +00:00
Richard Henderson
70994f3039 * config/alpha/alpha.c (alpha_emit_floatuns): Emit missing barrier.
From-SVN: r33288
2000-04-20 12:10:40 -07:00
Marek Michalkiewicz
b8fa3ed63e * avr.c: #include "system.h" instead of <stdio.h> and <stdlib.h>.
From-SVN: r33268
2000-04-19 17:23:42 -06:00
Kaveh R. Ghazi
456f6501a9 mips.h (BITS_PER_WORD, [...]): Remove unnecessary casts.
* mips.h (BITS_PER_WORD, UNITS_PER_WORD, UNITS_PER_FPREG,
	INT_TYPE_SIZE, LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY,
	PARM_BOUNDARY): Remove unnecessary casts.

From-SVN: r33259
2000-04-19 15:39:16 +00:00
Jim Wilson
20c8a6c293 Fix problem with relocs in read-only sections for C++ code.
* config/ia64/sysv4.h (SELECT_SECTION): Use data_section if
	flag_pic and RELOC.

From-SVN: r33239
2000-04-18 16:05:34 -07:00
Zack Weinberg
86702e3134 cccp.c, [...]: Removed.
* cccp.c, cexp.y, cexp.c, cccp.1: Removed.

	* configure.in: Delete --disable-cpplib option and all
	references to cpp_main.
	* configure: Regenerate.
	* Makefile.in: Remove all references to CCCP, CCCP_OBJS,
	@cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o,
	cccp.o, cccp, or cppmain.  Link cppmain.o straight to
	cpp$(exeext).  Add --no-headers to makeinfo command line when
	generating INSTALL.  Install and uninstall cpp.1 manpage, not
	cccp.1.
	* install.texi: Delete all references to cexp.y/cexp.c.
	Delete ancient instructions for compiling GCC on 3b1.
	* INSTALL: Regenerate.

	* cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c,
	ch/decl.c, ch/lex.c, cp/lex.c, f/lex.c, mips/t-ecoff,
	mips/t-elf, mips/t-r3900: Remove references to cccp.c.
	* convex.h, fx80.h, m68k.h, pdp11.h, contrib/gcc_update,
	f/g77install.texi: Remove references to	cexp.c/cexp.y.
	* xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING,
	which is no longer tested anywhere.

	* po/POTFILES.in: Remove cccp.c and cexp.c.  Comment out
	alpha/vms-tramp.asm.

From-SVN: r33238
2000-04-18 22:34:13 +00:00
Robert Lipe
c149cc37c8 configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Added.
* configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Added.  Check that
        bitfields of the host compiler are not signed quantities.
        * config.in: Regenerate.
        * configure: Regenerate.
        * system.h (USE_ENUM_BITFIELDS): Added.
        (ENUM_BITFIELDS): Added.
        * rtl.h (rtx_def): Members `code', `mode', now ENUM_BITFIELD.
        (SHORT_ENUM_BUG): Deleted.
        * tree.h (tree_common): Members `code', `mode', `built_in_class',
        now ENUM_BITFIELD.
        * config/i386/xm-sco.h (ONLY_INT_FIELDS): Deleted.
        (CODE_FIELD_BUG): Likewise.
        * config/m68k/x-apollo68 (CC): Deleted SHORT_ENUM_BUG.
        (OLD_CC): Likewise.
        * config/m68k/x-ccur (X_CFLAGS): Likewise.

From-SVN: r33233
2000-04-18 19:42:30 +00:00
Jan Hubicka
0b5107cf3a i386.c (athlon_cost): Fix lea, divide and XFmode move costs.
* i386.c (athlon_cost): Fix lea, divide and XFmode move costs.
	(x86_integer_DFmode_moves, x86_partial_reg_dependency,
	 x86_memory_mismatch_stall): New global variables.
	(ix86_adjust_cost): Handle MEMORY_BOTH on places MEMORY_STORE was only
	alloved; fix load penalties for Athlon.
	* i386.h (x86_integer_DFmode_moves, x86_partial_reg_dependency,
	x86_memory_mismatch_stall): Declare.
	(TARGET_INTEGER_DFMODE_MOVES, TARGET_PARTIAL_REG_DEPENDENCY,
	 TARGET_MEMORY_MISMATCH_STALL): New.
	* i386.md (athlon scheduling parameters): Fix latencies according to
	Athlon Optimization Manual.
	(sahf, xchg, fldcw, leave instruction patterns): Set athlon_decode to
	vector.
	(fsqrt instruction patterns): Set athlon_decode to direct.
	(movhi_1): Promote for TARGET_PARTIAL_REG_DEPENDENCY and for
	PARTIAL_REGISTER_STALL with !TARGET_HIMODE_MATH machines.
	(movqi_1): Handle promoting correctly for TARGET_PARTIAL_REG_DEPENDENCY
	and TARGET_PARTIAL_REGISTER_STALL machines.
	(pushdf_nointeger): New pattern.
	(pushdf_integer): Rename from pushdf.
	(movdf_nointger): Enable for !TARGET_INTEGER_DFMODE_MOVES machines.
	(movdf_intger): Disable for !TARGET_INTEGER_DFMODE_MOVES machines.

From-SVN: r33215
2000-04-17 21:39:30 +00:00
Jakub Jelinek
2be5e524b0 sparc.c (eligible_for_sibcall_delay): Cannot use leaf sibcall delay slot if flag_pic.
* config/sparc/sparc.c (eligible_for_sibcall_delay): Cannot use
	leaf sibcall delay slot if flag_pic.
	(output_sibcall): Always emit call for leaf sibcall if flag_pic.

From-SVN: r33210
2000-04-17 16:49:41 +02:00
Richard Henderson
e13f6154af i370.c (mvs_add_label): Change spacing for coding conventions.
* i370.c (mvs_add_label): Change spacing for coding conventions.
        * i370.h (ASM_OUTPUT_CASE_LABEL): Change to the data CSECT for the
        outputing case vectors.
        (ASM_OUTPUT_CASE_END): New, put assembler back into code CSECT.
        (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove page check,
        since vector in in the data CSECT.
        (ASM_OUTPUT_REG_POP, ASM_OUTPUT_REG_PUSH): Restore to correct operation.        * i370.md (Many patterns): Put the length in the XL directives.
        (movdi): Put back STM and MVC in definition.
        (floatsidf2): Correct TARGET_ELF_ABI pattern and add back the LE370
        pattern using the TCA.
        * oe.h (CPP_SPEC): Added to allow trigraphs.
        * xm-oe.h (HOST_BITS_PER_LONGLONG): Change to 32. IBM's compiler does
        not support the "long long" type.

From-SVN: r33191
2000-04-16 17:52:30 -07:00
Mark Mitchell
c94c981720 mips-protos.h (mips_legitimate_address_p): New function.
* config/mips/mips-protos.h (mips_legitimate_address_p): New
	function.
	(mips_reg_mode_ok_for_base_p): Likewise.
	* config/mips/mips.h (REG_OK_STRICT_P): Don't define.
	(REG_OK_FOR_INDEX_P): Define unconditionally.
	(REG_MODE_OK_FOR_BASE_P): Use mips_reg_mode_ok_for_base_p.
	(GO_IF_LEGITIMATE_ADDRESS): Use mips_legitimate_address_p.
	* config/mips/mips.c (mips16_simple_memory_operand): Adjust now
	that GET_MODE_SIZE is unsigned.
	(mips_reg_mode_ok_for_base_p): Define.
	(mips_legitimate_address_p): Likewise.  Adjust now
	that GET_MODE_SIZE is unsigned.
	(block_move_loop): Make the number of bytes unsigned.
	(expand_block_move): Likewise.
	(function_arg): Make the loop counter unsigned to match the
	boundary condition.

From-SVN: r33188
2000-04-16 21:47:17 +00:00
Ulrich Drepper
b8c752c8d3 (ix86_expand_epilogue): Yes, the x86 can pop 64k at once using ret $N.
From-SVN: r33174
2000-04-16 00:08:56 +00:00