Commit Graph

13671 Commits

Author SHA1 Message Date
Richard Kenner
3c18ea24c0 Change to utilize autoconf variables.
From-SVN: r14084
1997-05-18 08:31:46 -04:00
Richard Kenner
35bcca7b96 (TARGET_SWITCHES): Add 68020-60.
Mask out bits which indicate a particular processor when a different
processor is selected.
(MASK_68040_ALSO): Remove.
(MASK_68040): Change to be a single bit.

From-SVN: r14083
1997-05-18 08:24:51 -04:00
Richard Kenner
dcd13066a0 (TARGET_ALIGN_INT, MASK_ALIGN_INT): New macros.
(BIGGEST_ALIGNMENT): Determine according to TARGET_ALIGN_INT.
(TARGET_SWITCHES): Add align-int and no-align-int.

From-SVN: r14082
1997-05-18 08:14:40 -04:00
Richard Kenner
d82f7df265 (mov[qhs]i}): Add pair of constraints which allow offsetable memory
addresses to be moved to the same for TARGET_5200.

From-SVN: r14081
1997-05-18 08:09:20 -04:00
Richard Kenner
9591220667 (movstrict*): Changed into define_expands.
(movstrict*): Changed into define_expands.  Split insns into m68k and
coldfire specific versions with appropriate constraints.

From-SVN: r14080
1997-05-18 07:48:25 -04:00
Richard Kenner
d96b26312b (output_move_strict{hi,qi}): Declare.
From-SVN: r14079
1997-05-18 07:48:05 -04:00
Richard Kenner
9b55bf04b6 (output_move_strict{hi,qi}): New functions.
From-SVN: r14078
1997-05-18 07:47:43 -04:00
Richard Kenner
a25cea96d7 (atexit): Cast malloc and realloc calls.
From-SVN: r14077
1997-05-18 07:26:38 -04:00
Richard Kenner
499df3393d (profile_function): Call function_section, not text_section.
From-SVN: r14076
1997-05-17 16:26:47 -04:00
Richard Kenner
954a5693c0 (notreg_cost): New function, extracted from COST macro.
(COST): Use notreg_cost.

From-SVN: r14075
1997-05-17 16:00:55 -04:00
Richard Kenner
50196afaca (cse_insn): Don't record a SRC that's a MEM and the same as a
REG_EQUIV note if DEST is set more than once.

From-SVN: r14074
1997-05-17 15:13:18 -04:00
Jeff Law
a89974a23e pa.c (output_move_double): Handle loading a general register from a scaled indexed memory address.
* pa.c (output_move_double): Handle loading a general register
        from a scaled indexed memory address.
        * pa.md (movdf, movdi): Allow scaled loads into general registers.

From-SVN: r14073
1997-05-16 14:58:24 -06:00
Mike Stump
30ccf55d85 rs6000.c (rs6000_stack_info): Only do eabi setup for "main"...
* rs6000/rs6000.c (rs6000_stack_info): Only do eabi setup for "main",
	when main is the global main, not some nested routine that
	happens to be called main.

From-SVN: r14072
1997-05-16 20:42:42 +00:00
Mike Stump
c133e33c68 except.c (expand_start_all_catch): If the machine needs to perform any actions at the start of an expcetion...
* except.c (expand_start_all_catch): If the machine needs to
	perform any actions at the start of an expcetion handler that
	hasn't already been done, use gen_exception_receiver to emit it.
	(expand_leftover_cleanups): Likewise.
	* alpha/alpha.md (exception_receiver): Use it.
	* pa/pa.h (exception_receiver): Use it.

From-SVN: r14071
1997-05-16 01:00:58 +00:00
Mike Stump
f51430ed7a except.c (expand_start_all_catch): If the machine needs to perform any actions at the start of an expcetion...
* except.c (expand_start_all_catch): If the machine needs to
	perform any actions at the start of an expcetion handler that
	hasn't already been done, use gen_exception_receiver to emit it.
	(expand_leftover_cleanups): Likewise.
	* alpha/alpha.md (exception_receiver): Use it.
	* pa/pa.h (exception_receiver): Use it.
Fix -fpic on hppa when excetpions are throw across shared libraries.

From-SVN: r14070
1997-05-16 00:58:40 +00:00
Jeff Law
59cfb80c42 dbxout.c (dbxout_function_end): Don't subtract one from the end of function scoping stab.
* dbxout.c (dbxout_function_end): Don't subtract one from
        the end of function scoping stab.

From-SVN: r14069
1997-05-15 08:39:56 -06:00
Jeff Law
5ff8093182 * mn10300.md (adddi3, subdi3): Remove expanders and patterns.
From-SVN: r14068
1997-05-14 23:32:16 -06:00
Mike Stump
e5a1e0e864 function.c (expand_function_end): Make sure we finish off any leftover exception handlers.
* function.c (expand_function_end): Make sure we finish off any
	leftover exception handlers.

From-SVN: r14067
1997-05-15 02:25:25 +00:00
Mike Stump
6b023d0700 expr.c (expand_builtin_setjmp): Remove setting of current_function_has_nonlocal_goto, as this isn't a goto.
* expr.c (expand_builtin_setjmp): Remove setting of
	current_function_has_nonlocal_goto, as this isn't a goto.

From-SVN: r14066
1997-05-13 21:08:28 +00:00
Richard Earnshaw
9e7d0bccf4 (CPP_SPEC): Fix typo invoking cpp_endian.
(*_SPEC): Remove all references to mle/mbe.

From-SVN: r14065
1997-05-13 18:45:05 +00:00
Richard Earnshaw
b92b0cc977 Build fp-bit.c when compiling with -msoft-float.
From-SVN: r14064
1997-05-13 18:45:05 +00:00
Richard Earnshaw
5bc85b0a3d (MULTILIB_DEFAULTS): Remove all references to mle/mbe.
From-SVN: r14063
1997-05-13 18:45:05 +00:00
Richard Earnshaw
64bdde07f6 (MULTILIB_OPTIONS): Change options mbe/mle to mbig-endian and mlittle-endian.
(MULTILIB_OPTIONS): Change options mbe/mle to mbig-endian
and mlittle-endian.
(MULTILIB_MATCHES): Nothing matches that matters.

From-SVN: r14062
1997-05-13 18:45:05 +00:00
Richard Earnshaw
18af731304 Add prototypes for all static functions.
(output_multi_immediate, int_log2): Make static.

From-SVN: r14061
1997-05-13 18:45:05 +00:00
Mike Stump
05f5b2cdf9 except.c (expand_start_all_catch): If the machine needs a nonlocal_goto_receiver...
* except.c (expand_start_all_catch): If the machine needs a
	nonlocal_goto_receiver, add one at the start of the exception
	handler.
	(expand_leftover_cleanups): Likewise.
Potential fix for eh on alpha, rs6000, and hppa.

From-SVN: r14060
1997-05-13 03:50:39 +00:00
Jeff Law
15f3d16acb mips.c (move_operand): Accept any general operand after reload has started.
* mips.c (move_operand): Accept any general operand after reload
        has started.

From-SVN: r14059
1997-05-12 17:37:24 -06:00
Jeff Law
6f54921d69 mn10300.md (udivmodhi4, divmodhi4): Remove expander, give corresponding pattern [u]divmodhir4 name.
* mn10300.md (udivmodhi4, divmodhi4): Remove expander, give
        corresponding pattern [u]divmodhir4 name.  Clear MDR register
        in the udivmodhi4 pattern itself.
        (clear_mdr): Delete pattern.

From-SVN: r14058
1997-05-09 14:35:09 -06:00
David Edelsohn
f0dc3f4925 extend restrictions on combining lshiftrt with insv to all shifts
From-SVN: r14057
1997-05-09 18:47:12 +00:00
Richard Earnshaw
b27cd47c65 (LIBGCC1_TEST): Don't build it.
(MULTILIB_{OPTIONS,DIRNAMES,EXCEPTIONS}): Build a suitable set of
cross libraries.
(LIBGCC): Set to stmp-multilib.
(INSTALL_LIBGCC): Set to install-multilib.

From-SVN: r14056
1997-05-08 22:17:34 +00:00
Richard Earnshaw
7de93521da (ASM_OUTPUT_LONG_DOUBLE): Delete call to arm_increase_location.
(ASM_OUTPUT_LONG_DOUBLE): Delete call to
arm_increase_location.
(ASM_OUTPUT_{DOUBLE,FLOAT,INT,SHORT,CHAR,BYTE,ASCII,SKIP}): Likewise.
(ASM_OUTPUT_ALIGN): Delete all code refering to arm_text_location.

From-SVN: r14055
1997-05-08 22:17:34 +00:00
Richard Earnshaw
da91c3abc6 (CPP_SPEC): Rewrite using new sub-components.
(SUBTARGET_CPU_DEFAULT): Set to TARGET_CPU_arm2.

From-SVN: r14054
1997-05-08 22:17:34 +00:00
Richard Earnshaw
97d65fbc22 (CPP_SPEC): Delete.
(CPP_APCS_PC_DEFAULT_SPEC): Define.

From-SVN: r14053
1997-05-08 22:17:34 +00:00
Richard Earnshaw
fef37aaf99 (attr cpu): Add new cpu types for arm8 and strongarm.
(attr ldsched): New attribute, set if processor has a load_delay slot.
(function_unit core): Rework to handle load delay slots.
(function_unit loader): New function unit.
(movsi): Handle pic.
(pic_load_addr): New expand.
(*pic_load_addr_based_insn, pic_add_dot_plus_eight): New patterns.
(peepholes to cause flow to return to a label after a function call):
Delete, these have been disabled for a while now.

From-SVN: r14052
1997-05-08 22:17:34 +00:00
Richard Earnshaw
7a80182693 (TARGET_CPU_arm*, TARGET_CPU_strongarm*, TARGET_CPU_generic):
define.
(CPP_ARCH_DEFAULT_SPEC): Set up based on setting of TARGET_CPU_DEFAULT.
(CPP_SPEC): Split up into sub-rule calls.
(CPP_CPU_SPEC): Add default definition.
(CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC): Add definitions.
(CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC): Add definitions.
(CPP_ENDIAN_SPEC, CPP_ENDIAN_DEFAULT_SPEC): Add definitions.
(CC1_SPEC): Map legacy -m[236] onto -mcpu=.. and -mapcs-{26,32} as
appropriate. Similarly for -mbe and -mle to -m{big,little}-endian.
(EXTRA_SPECS): Define.
(enum processor_type): New types for arm8 and strongarm.
(CONDITIONAL_REGISTER_USAGE): Handle flag_pic.
(LEGITIMIZE_ADDRESS): Likewise.
(ADJUST_COST): Define.
(PIC_OFFSET_TABLE_REGNUM): Define.
(FINALIZE_PIC): Define.
(LEGITIMATE_PIC_OPERAND_P): Define.
(OUTPUT_INT_ADDR_CONST): Define.
(ASM_OUTPUT_MI_THUNK): Delete calls to arm_increase_location.
(MASK_RETURN_ADDR): Use TARGET_APCS_32 not TARGET_6.

From-SVN: r14051
1997-05-08 22:17:34 +00:00
Richard Earnshaw
41d891aae0 (CPP_SPEC): Delete.
(PROCESSOR_DEFAULT): Delete.
(CPP_APCS_PC_DEFAULT_SPEC): Define.

From-SVN: r14050
1997-05-08 22:17:34 +00:00
Richard Earnshaw
32de079ac5 (arm_increase_location, get_prologue_size): Delete.
(arm_naked_function_p): Add declaration.
(arm_pic_register): Define.
(all_procs): Delete entries for arm{60,620,70,7d,7di,700i,710c}; add
entries for arm{7m,7500fe,8}, strongarm and strongarm110.
(arm_override_options): Rework so that configure can properly set
the default processor type. Add a warning that PIC code is not yet
supported.
(legitimate_pic_operand_p, legitimize_pic_address): New functions.
(is_pic, arm_finalize_pic): New functions.
(arm_adjust_cost): New function.
(const_pool_offset, arm_backwards_branch, short_branch): Delete.
(arm_insn_not_targeted): Delete.
(add_constant): If generating AOF syntax, then handle pic specially.
(output_ascii_pseudo_op): Delete calls to arm_increase_location.
(function_really_clobbers_lr): Calls followed by a barrier don't
clobber the link register.
(output_func_prologue): Handle AOF syntax pic code.
(output_func_epilogue): Handle cases where lr_save_eliminated is set.
Delete call to arm_increase_location.
(arm_asm_output_label): Simplify, since we no-longer need to cache the
label's address.
(aof_pic_entry): New function to keep track of pic symbols.
(aof_dump_pic_table): New function.

From-SVN: r14049
1997-05-08 22:17:34 +00:00
Stan Cox
858a9ffcb7 (output_float_compare): For pentiumpro use fcomip
From-SVN: r14048
1997-05-08 18:51:51 +00:00
Richard Kenner
96f06cb6dd (fold, truth_andor): Disable optimization for side effects on RHS.
From-SVN: r14047
1997-05-08 13:20:18 -04:00
David Edelsohn
95e8f2f306 improve test for last change
From-SVN: r14046
1997-05-08 02:20:15 +00:00
Mike Stump
6e6a07d299 except.c (start_dynamic_handler): Fix so that we can use __builtin_setjmp...
* except.c (start_dynamic_handler): Fix so that we can use
 	__builtin_setjmp, and default to using __builtin_setjmp instead of
 	setjmp.
	* expr.c (expand_builtin_setjmp): New routine, split out from
	existing inline code from expand_builtin.
	(expand_builtin): Split out code into expand_builtin_setjmp.
	* expr.h (expand_builtin_setjmp): Add declaration.
	* libgcc2.c (__sjthrow): Default to using __builtin_setjmp instead
 	of setjmp.
	(__sjpopnthrow): Likewise.
	* optabs.c (init_optabs): Likewise.

From-SVN: r14045
1997-05-07 22:50:11 +00:00
David Edelsohn
24f2dbd6f7 fix zero_extract lshiftrt insv combiner pattern bug
From-SVN: r14044
1997-05-07 21:59:30 +00:00
Thomas Bushnell, n/BSG
edd45bd68c Recognize either / or - as a machine/suptype separator from uname -m to cope...
Recognize either / or - as a machine/suptype separator from uname -m
to cope with older systems that have the older uname.

From-SVN: r14026
1997-05-07 19:19:04 +00:00
Jason Merrill
4f988ea21d x
From-SVN: r14025
1997-05-06 23:29:28 +00:00
Mike Stump
db3cf6fb33 reformat a little to match GNU coding standards.
From-SVN: r14024
1997-05-06 23:05:54 +00:00
Mike Stump
e3da301da3 reformat a little to match GNU coding standards.
From-SVN: r14023
1997-05-06 22:59:57 +00:00
Mike Stump
c718078fad entered into RCS
From-SVN: r14022
1997-05-06 22:43:11 +00:00
Jason Merrill
beb53fb84a 91th Cygnus<->FSF quick merge
From-SVN: r14021
1997-05-06 20:14:14 +00:00
Jeff Law
065bbfe6bf h8300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
* h8300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
        (shift_one, shift_two): Set CC_NO_CARRY as needed.  Remove
        references to CC_OVERFLOW_0.
        (emit_a_shift): Similarly.
        * h8300.h (CC_OVERFLOW_0): Remove.
        * h8300.md: Use set_zn and set_znv for cc0 tracking.
        (bCC): Restore the comparison is CC_OVERFLOW_UNUSABLE is set and
        the comparison needs the overflow bits.

From-SVN: r14020
1997-05-05 20:42:06 -06:00
Jeff Law
d116300be8 mn10300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
* mn10300.c (notice_update_cc): Use CC_SET_ZN and CC_SET_ZNV.
        * mn10300.h (CC_NO_CARRY): Define.
        * mn10300.md: Use "set_zn" and "set_znv" to more accurately
        describe cc0 status.

From-SVN: r14019
1997-05-05 19:15:09 -06:00
Per Bothner
31b663c33a CLIX patch from Thomas Dickey via urs@akk.uni-karlsruhe.de (Urs Janssen).
From-SVN: r14016
1997-05-05 15:04:41 -07:00