gcc.git
30 years ago(function_unit fpa): Add more accurate scheduling information.
Richard Earnshaw [Mon, 27 Jun 1994 15:24:36 +0000 (15:24 +0000)]
(function_unit fpa): Add more accurate scheduling information.

(all floating point patterns): Add more accurate instruction type information.

From-SVN: r7574

30 years agoinclude "expr.h".
Richard Earnshaw [Mon, 27 Jun 1994 15:24:36 +0000 (15:24 +0000)]
include "expr.h".

(arm_fpu): New variable.
(arm_gen_movstrqi): Fix typo.

From-SVN: r7573

30 years ago(STARTFILE_SPEC,SIZE_TYPE,PTRDIFF_TYPE): Fix typos.
Richard Earnshaw [Mon, 27 Jun 1994 15:24:36 +0000 (15:24 +0000)]
(STARTFILE_SPEC,SIZE_TYPE,PTRDIFF_TYPE): Fix typos.

(ASM_FINAL_SPEC): Only reject -mbsd and -mxopen when -pedantic.

From-SVN: r7572

30 years ago(enum floating_point_type): New enumeration type.
Richard Earnshaw [Mon, 27 Jun 1994 15:24:36 +0000 (15:24 +0000)]
(enum floating_point_type): New enumeration type.

(arm_fpu): New declaration.

From-SVN: r7571

30 years ago(v_message_with_decl): Avoid fwrite for stderr; mixing it with fprintf
Richard Kenner [Sun, 26 Jun 1994 09:37:16 +0000 (05:37 -0400)]
(v_message_with_decl): Avoid fwrite for stderr; mixing it with fprintf
and fputs can cause strange results under VMS.

From-SVN: r7570

30 years ago(distribute_notes, case REG_DEAD): If a call uses a
Richard Earnshaw [Sat, 25 Jun 1994 10:04:06 +0000 (10:04 +0000)]
(distribute_notes, case REG_DEAD): If a call uses a
hard reg, then this is where it dies.

From-SVN: r7569

30 years ago(create_definition): Eliminate whitespace before and after macro
Richard Kenner [Fri, 24 Jun 1994 23:09:17 +0000 (19:09 -0400)]
(create_definition): Eliminate whitespace before and after macro
definitions.

From-SVN: r7568

30 years ago(alpha_builtin_saveregs): Fix typo in computing value for __base.
Richard Kenner [Fri, 24 Jun 1994 22:47:38 +0000 (18:47 -0400)]
(alpha_builtin_saveregs): Fix typo in computing value for __base.

From-SVN: r7567

30 years ago(zero_extract patterns): Don't allow constants in the first operand of...
Richard Kenner [Fri, 24 Jun 1994 22:29:54 +0000 (18:29 -0400)]
(zero_extract patterns): Don't allow constants in the first operand of...

(zero_extract patterns): Don't allow constants in the first operand of
ZERO_EXTRACT since the recognizer function forces them to match the
mode of the match_operand.

From-SVN: r7566

30 years ago(decl_constant_value): Test for const and not iterator.
Richard Kenner [Fri, 24 Jun 1994 21:46:59 +0000 (17:46 -0400)]
(decl_constant_value): Test for const and not iterator.

(default_conversion, digest_init): Remove redundant checks before calling
decl_constant_value.
(convert_for_assignment): See if RHS has a constant value.

From-SVN: r7565

30 years agoAdd -W[no]-bad-function-cast.
Richard Kenner [Fri, 24 Jun 1994 20:19:17 +0000 (16:19 -0400)]
Add -W[no]-bad-function-cast.

From-SVN: r7564

30 years agoDeclare warn_bad_function_cast.
Richard Kenner [Fri, 24 Jun 1994 20:18:25 +0000 (16:18 -0400)]
Declare warn_bad_function_cast.

From-SVN: r7563

30 years ago(build_c_cast): Issue a warning for non-matching cast from a function
Richard Kenner [Fri, 24 Jun 1994 20:17:42 +0000 (16:17 -0400)]
(build_c_cast): Issue a warning for non-matching cast from a function
call (like malloc without proto).

From-SVN: r7562

30 years ago(lang_decode_option): Set warn_bad_function_cast for
Richard Kenner [Fri, 24 Jun 1994 20:17:01 +0000 (16:17 -0400)]
(lang_decode_option): Set warn_bad_function_cast for
-Wbad-function-cast.

From-SVN: r7561

30 years ago(ASM_IDENTIFY_LANGUAGE): New macro.
Richard Kenner [Fri, 24 Jun 1994 20:09:07 +0000 (16:09 -0400)]
(ASM_IDENTIFY_LANGUAGE): New macro.

From-SVN: r7560

30 years ago(movstrsi): Delete.
Richard Earnshaw [Fri, 24 Jun 1994 19:51:26 +0000 (19:51 +0000)]
(movstrsi): Delete.

(movstrqi): New expand.

From-SVN: r7559

30 years ago(arm_gen_movstrqi): New function.
Richard Earnshaw [Fri, 24 Jun 1994 19:51:26 +0000 (19:51 +0000)]
(arm_gen_movstrqi): New function.

From-SVN: r7558

30 years ago(jump_optimize): If we reverse "if (foo) bar else break;" and there follows a NOTE_IN...
Richard Earnshaw [Fri, 24 Jun 1994 19:35:38 +0000 (19:35 +0000)]
(jump_optimize): If we reverse "if (foo) bar else break;" and there follows a NOTE_INSN_LOOP_END...

(jump_optimize): If we reverse "if (foo) bar else break;"
and there follows a NOTE_INSN_LOOP_END, move the note before "bar".

From-SVN: r7557

30 years ago(ashrsi3, lshrsh3): Remove patterns using bfext[su].
Richard Kenner [Fri, 24 Jun 1994 19:35:03 +0000 (15:35 -0400)]
(ashrsi3, lshrsh3): Remove patterns using bfext[su].

From-SVN: r7556

30 years ago(goto_block_pat): Ignore undefined label.
Richard Kenner [Fri, 24 Jun 1994 18:43:36 +0000 (14:43 -0400)]
(goto_block_pat): Ignore undefined label.

From-SVN: r7555

30 years ago(LINK_SPEC): Fix typo.
Doug Evans [Fri, 24 Jun 1994 02:07:17 +0000 (02:07 +0000)]
(LINK_SPEC): Fix typo.

(PTRDIFF_TYPE): Likewise.

From-SVN: r7554

30 years ago41st Cygnus<->FSF merge
Mike Stump [Fri, 24 Jun 1994 00:54:38 +0000 (00:54 +0000)]
41st Cygnus<->FSF merge

From-SVN: r7553

30 years ago(movsf): Only generate stack temporary if used.
Richard Kenner [Thu, 23 Jun 1994 23:25:10 +0000 (19:25 -0400)]
(movsf): Only generate stack temporary if used.

From-SVN: r7552

30 years ago(compile_file): Use TREE_SYMBOL_REFERENCED instead of
Jason Merrill [Thu, 23 Jun 1994 23:19:54 +0000 (23:19 +0000)]
(compile_file): Use TREE_SYMBOL_REFERENCED instead of
        TREE_USED and TREE_ADDRESSABLE where appropriate.

From-SVN: r7551

30 years ago(assemble_name): Set TREE_SYMBOL_REFERENCED on the
Jason Merrill [Thu, 23 Jun 1994 23:19:54 +0000 (23:19 +0000)]
(assemble_name): Set TREE_SYMBOL_REFERENCED on the
        identifier for `name'.

From-SVN: r7550

30 years ago(TREE_SYMBOL_REFERENCED): New macro.
Jason Merrill [Thu, 23 Jun 1994 23:19:54 +0000 (23:19 +0000)]
(TREE_SYMBOL_REFERENCED): New macro.

From-SVN: r7549

30 years ago(fix_truncdfsi2, movsf, movdi): Use assign_stack_temp.
Richard Kenner [Thu, 23 Jun 1994 23:19:33 +0000 (19:19 -0400)]
(fix_truncdfsi2, movsf, movdi): Use assign_stack_temp.

(mulsidi3): Add earlyclobber constraint modifier to PowerPC version
and !TARGET_POWERPC64 to final condition.

From-SVN: r7548

30 years ago(simplify_unary_operation, case UNSIGNED_FLOAT): Add missing cast to
Richard Kenner [Thu, 23 Jun 1994 23:05:47 +0000 (19:05 -0400)]
(simplify_unary_operation, case UNSIGNED_FLOAT): Add missing cast to
unsigned.

From-SVN: r7547

30 years ago(ASM_SPEC): Use PowerPC mode, not 601 mode.
Richard Kenner [Thu, 23 Jun 1994 23:00:09 +0000 (19:00 -0400)]
(ASM_SPEC): Use PowerPC mode, not 601 mode.

(CPP_SPEC): New macro.
(TARGET_DEFAULT): Generate pure PowerPC code, not 601-specific.

From-SVN: r7546

30 years ago(CPP_PREDEFINES): Define _POWER (alias for _IBMR2).
Richard Kenner [Thu, 23 Jun 1994 22:59:43 +0000 (18:59 -0400)]
(CPP_PREDEFINES): Define _POWER (alias for _IBMR2).

(CPP_SPEC): New macro.

From-SVN: r7545

30 years ago(compile_file): Don't try to write function if we didn't save insns
Richard Kenner [Thu, 23 Jun 1994 22:56:06 +0000 (18:56 -0400)]
(compile_file): Don't try to write function if we didn't save insns
for it.

From-SVN: r7544

30 years ago(CPP_PREDEFINES): Add `__vax__', `__vms__', and `__VMS__'; update
Richard Kenner [Thu, 23 Jun 1994 22:09:16 +0000 (18:09 -0400)]
(CPP_PREDEFINES): Add `__vax__', `__vms__', and `__VMS__'; update
__GNUC_MINOR__ to 6.

From-SVN: r7543

30 years ago(CPP_PREDEFINES): Add `__vax__'.
Richard Kenner [Thu, 23 Jun 1994 22:08:41 +0000 (18:08 -0400)]
(CPP_PREDEFINES): Add `__vax__'.

From-SVN: r7542

30 years ago(find_reloads): Don't rejecting non-const due to value of
Richard Kenner [Thu, 23 Jun 1994 21:59:22 +0000 (17:59 -0400)]
(find_reloads): Don't rejecting non-const due to value of
PREFERRED_RELOAD_CLASS if no regs were valid for alternative.

From-SVN: r7541

30 years ago(output_move_double): If the dest is register pair and both regs are used in src...
Richard Kenner [Thu, 23 Jun 1994 21:45:46 +0000 (17:45 -0400)]
(output_move_double): If the dest is register pair and both regs are used in src address...

(output_move_double): If the dest is register pair and both regs are
used in src address, use ADDR to compute src address, not ADDD, which
throws away scaled index.

From-SVN: r7540

30 years ago(clear_binding_level): Add missing fields in initializer.
Richard Kenner [Thu, 23 Jun 1994 21:39:11 +0000 (17:39 -0400)]
(clear_binding_level): Add missing fields in initializer.

(c_decode_option): Correct misspelling of -fno-dollars-in-identifiers.

From-SVN: r7539

30 years agoFix sbrk return type in <unistd.h> on Alpha OSF/1 V2.0.
Ian Lance Taylor [Thu, 23 Jun 1994 17:48:38 +0000 (17:48 +0000)]
Fix sbrk return type in <unistd.h> on Alpha OSF/1 V2.0.

From-SVN: r7538

30 years agoinclude tree.h
Richard Earnshaw [Thu, 23 Jun 1994 16:02:41 +0000 (16:02 +0000)]
include tree.h

include tree.h
(const_ok_for_arm): Add fast return for 0 or just a single non-zero bit.
(const_ok_for_op): New function.
(arm_split_constant): New function.
(arm_rtx_costs): New function.
(reg_or_int_operand): New function.
(shift_operator): Accept ROTATERT.
(multi_register_push): New function.
(shift_op): Don't abort if a constant is outside the acceptable range, but
convert the whole shift expression into something legal.  If the shift is
zero, then return NULL.
(output_return_instruction): Output a call to abort if the function is
volatile.
(arm_volatile_func): New function.
(get_prologue_size): Remove all adjustments for insns that are now output as
rtx.
(output_func_prologue): Remove all code that outputs instructions, just print
a few comments.
(output_func_epilogue): Output a call to abort if a volatile function tries
to return.
(emit_multi_reg_push): New function.
(arm_expand_prologue): New function.  Don't bother to push call-saved regs
if we will never return.
(arm_print_operand, case 'S'): If shift_op returns NULL, then no shift is
required.

From-SVN: r7537

30 years ago(TARGET_WHEN_DEBUGGING): Delete.
Richard Earnshaw [Thu, 23 Jun 1994 16:02:41 +0000 (16:02 +0000)]
(TARGET_WHEN_DEBUGGING): Delete.

(MODES_TIEABLE_P): All modes of the same class are tieable.
(CONST_OK_FOR_LETTER_P): Add 'M' for constants valid in a shift.
(FUNCTION_PROFILER): Don't call arm_increase_location.
(INITIAL_ELIMINATION_OFFSET): Call saved regs are no-longer pushed for
functions that don't return.
(LEGITIMIZE_ADDRESS): Push constants that will never be legitimate -- symbols
and labels -- into registers.  Handle DImode better.
(DEFAULT_SIGNED_CHAR): Use unsigned unless already defined.
(RTX_COSTS): Call arm_rtx_costs.
(ADDRESS_COST): Since most operations have the same rtx cost, make the
more complex addresses cheaper.
(PREDICATE_CODES): Add ROTATERT to shift_operator; and new predicates for
reg_or_int_operand and multi_register_push.
(DBX_CONTIN_LENGTH): Only define if not already done.
(PRINT_OPERAND_ADDRESS): Let arm_print operand output the ", " for shifts.

From-SVN: r7536

30 years agoDelete some dead code.
Richard Earnshaw [Thu, 23 Jun 1994 16:02:41 +0000 (16:02 +0000)]
Delete some dead code.

(STARTFILE_SPEC): Look in the correct places for start files.
(LIB_SPEC): Define.
(LINK_SPEC): Define.
(TARGET_WHEN_DEBUGGING): Delete.
(DEFAULT_SIGNED_CHAR): Set to unsigned.
(SIZE_TYPE, PTRDIFF_TYPE, TARGET_EDOM): Define.

From-SVN: r7535

30 years ago(DBX_CONTIN_LENGTH): Set to 80.
Richard Earnshaw [Thu, 23 Jun 1994 16:02:41 +0000 (16:02 +0000)]
(DBX_CONTIN_LENGTH): Set to 80.

(DEFAULT_GDB_EXTENSIONS, DBX_NO_XREFS): Don't try to pander to dbx, it is just
to broken to use.

From-SVN: r7534

30 years ago(addsi3, subsi3, andsi3, iorsi3, ashlsi3, ashrsi3, lshrsi3, rotrsi3):
Richard Earnshaw [Thu, 23 Jun 1994 16:02:41 +0000 (16:02 +0000)]
(addsi3, subsi3, andsi3, iorsi3, ashlsi3, ashrsi3, lshrsi3, rotrsi3):

Rewrite as expand patterns.
(rotlsi3): New expand.
(matchers, and split patterns for above): New.
(all patterns with shifts): Let arm_print_operand output the ", " before a
shift if it is needed.
(zero_extendqihi2): Delete.
(zero_extendqisi2): Expand to (and ...) if not memory.
(movsi): Call arm_split_constant to generate a constant.
(movqi): Only force a MEM into a register if not reloading.
(movsf, movdf): If loading a non-immediate floating point value, or loading
and floating point immediate into integer regs, push the constant straight
into the pool.
(movdf): Get rid of the scratch register.
(reload_outdf): Rewrite to expand to the two required insns.
(matcher for movdf): Remove alternative that used scratch register for
storing.
(movxf): rewrite as expand.
(matcher for movxf): Recognize even when XFmode code is disabled, so that
prologue insns can be generated.
(Matcher for reversed conditional jump): Don't match if the mode of the
CC register is not reversible.
(prologue): New expand.
(matcher for multi_register_push insn): New.

From-SVN: r7533

30 years agoInitial revision
Richard Kenner [Thu, 23 Jun 1994 00:09:12 +0000 (20:09 -0400)]
Initial revision

From-SVN: r7532

30 years ago(m68k-ccur): New system.
Richard Kenner [Thu, 23 Jun 1994 00:03:14 +0000 (20:03 -0400)]
(m68k-ccur): New system.

From-SVN: r7531

30 years agoInclude <dirent.h>, not <sys/dir.h> on Concurrent.
Richard Kenner [Thu, 23 Jun 1994 00:01:40 +0000 (20:01 -0400)]
Include <dirent.h>, not <sys/dir.h> on Concurrent.

From-SVN: r7530

30 years ago(strength_reduce): When replacing DEST_ADDR givs, make sure resulting
Richard Kenner [Wed, 22 Jun 1994 23:53:01 +0000 (19:53 -0400)]
(strength_reduce): When replacing DEST_ADDR givs, make sure resulting
insn is valid.

From-SVN: r7529

30 years ago(LINK_SPEC): New macro.
Richard Kenner [Wed, 22 Jun 1994 22:49:13 +0000 (18:49 -0400)]
(LINK_SPEC): New macro.

From-SVN: r7528

30 years agoHandle -with-gnu-as for Alpha as it is handled for MIPS
Ian Lance Taylor [Wed, 22 Jun 1994 22:46:16 +0000 (22:46 +0000)]
Handle -with-gnu-as for Alpha as it is handled for MIPS

From-SVN: r7527

30 years ago(expand_binop): New variable next_methods; pass to most recursive calls when trying...
Richard Kenner [Wed, 22 Jun 1994 22:15:30 +0000 (18:15 -0400)]
(expand_binop): New variable next_methods; pass to most recursive calls when trying to avoid libcalls.

(expand_binop): New variable next_methods; pass to most recursive calls when
trying to avoid libcalls.
Always check for a return value of zero in recursive calls.
(expand_float): Ensure TARGET has proper mode.
Pass OPTAB_LIB_WIDEN to expand_binop calls.

From-SVN: r7526

30 years ago(skip_to_end_of_comment): Catch unterminated comments.
Doug Evans [Tue, 21 Jun 1994 18:35:15 +0000 (18:35 +0000)]
(skip_to_end_of_comment): Catch unterminated comments.

From-SVN: r7525

30 years agoinclude stdio.h and stdlib.h into assert.h as necessary
Jason Merrill [Sat, 18 Jun 1994 21:51:42 +0000 (21:51 +0000)]
include stdio.h and stdlib.h into assert.h as necessary

From-SVN: r7524

30 years agoLose assert.h hacking
Jason Merrill [Sat, 18 Jun 1994 21:51:42 +0000 (21:51 +0000)]
Lose assert.h hacking

From-SVN: r7523

30 years ago(sdbout_symbol): Use DECL_ASSEMBLER_NAME if
Jim Wilson [Sat, 18 Jun 1994 21:01:07 +0000 (14:01 -0700)]
(sdbout_symbol): Use DECL_ASSEMBLER_NAME if
DECL_LANG_SPECIFIC is set.

From-SVN: r7522

30 years ago(process_init_element): For fieldtype, don't access
Jim Wilson [Sat, 18 Jun 1994 20:58:57 +0000 (13:58 -0700)]
(process_init_element): For fieldtype, don't access
TYPE_MAIN_VARIANT field if the type is error_mark_node.

From-SVN: r7521

30 years ago(truncdisi2): Change from define_insn to define_expand.
Jim Wilson [Sat, 18 Jun 1994 20:53:45 +0000 (13:53 -0700)]
(truncdisi2): Change from define_insn to define_expand.

(truncdihi2, truncdiqi2, extendsidi2): Likewise.
(extendsidi2_internal): New pattern.

From-SVN: r7520

30 years ago(duplicate_loop_exit_test): Initialize copy to zero.
Jim Wilson [Sat, 18 Jun 1994 20:50:28 +0000 (13:50 -0700)]
(duplicate_loop_exit_test): Initialize copy to zero.

Emit jump to end lable if copy is still zero.

From-SVN: r7519

30 years ago(sdbout_one_type): Use DECL_ASSEMBLER_NAME not
Jim Wilson [Sat, 18 Jun 1994 20:48:02 +0000 (13:48 -0700)]
(sdbout_one_type): Use DECL_ASSEMBLER_NAME not
DECL_NAME for child_type that is a template type.

From-SVN: r7518

30 years ago(move_movables): Copy CALL_INSN_FUNCTION_USAGE field.
Jim Wilson [Sat, 18 Jun 1994 20:44:41 +0000 (13:44 -0700)]
(move_movables): Copy CALL_INSN_FUNCTION_USAGE field.

From-SVN: r7517

30 years ago(sdbout_one_type): Use DECL_ASSEMBLER_NAME if
Jim Wilson [Sat, 18 Jun 1994 20:42:18 +0000 (13:42 -0700)]
(sdbout_one_type): Use DECL_ASSEMBLER_NAME if
DECL_LANG_SPECIFIC is set.

From-SVN: r7516

30 years ago(dbxout_symbol): Replace DECL_IGNORED_P with
Jim Wilson [Sat, 18 Jun 1994 20:40:20 +0000 (13:40 -0700)]
(dbxout_symbol): Replace DECL_IGNORED_P with
TYPE_DECL_SUPPRESS_DEBUG.

From-SVN: r7515

30 years ago(expand_shift): Don't try extzv for lshr.
Richard Kenner [Sat, 18 Jun 1994 14:31:51 +0000 (10:31 -0400)]
(expand_shift): Don't try extzv for lshr.

From-SVN: r7514

30 years ago(lshrsi3): New define_expand.
Richard Kenner [Sat, 18 Jun 1994 14:26:15 +0000 (10:26 -0400)]
(lshrsi3): New define_expand.

From-SVN: r7513

30 years agoPass NULL_RTX for TARGET in calls to expand_{un,bin}op.
Richard Kenner [Sat, 18 Jun 1994 14:21:32 +0000 (10:21 -0400)]
Pass NULL_RTX for TARGET in calls to expand_{un,bin}op.

(expand_float): Use expand_shift instead of expand_binop.

From-SVN: r7512

30 years agoCorrect math.h handling on Lynx again.
Ian Lance Taylor [Fri, 17 Jun 1994 19:06:33 +0000 (19:06 +0000)]
Correct math.h handling on Lynx again.

From-SVN: r7511

30 years ago(simplify_binary_operation, case MINUS): Check mode of op0,
Richard Earnshaw [Fri, 17 Jun 1994 14:51:43 +0000 (14:51 +0000)]
(simplify_binary_operation, case MINUS): Check mode of op0,

instead of op1, before calling plus_constant.

From-SVN: r7510

30 years agopa.h (DEBUGGER_AUTO_OFFSET): Define.
Jeff Law [Fri, 17 Jun 1994 05:43:06 +0000 (23:43 -0600)]
pa.h (DEBUGGER_AUTO_OFFSET): Define.

* pa.h (DEBUGGER_AUTO_OFFSET): Define.  If no frame pointer
is available, then adjust the offset by the size of the current
frame.

From-SVN: r7509

30 years ago(output_inline_function): Unset DECL_DEFER_OUTPUT on
Jason Merrill [Thu, 16 Jun 1994 23:38:08 +0000 (23:38 +0000)]
(output_inline_function): Unset DECL_DEFER_OUTPUT on
        fndecl.

From-SVN: r7508

30 years ago(compile_file): Unset DECL_DEFER_OUTPUT on decls considered at end of file.
Jason Merrill [Thu, 16 Jun 1994 23:37:53 +0000 (23:37 +0000)]
(compile_file): Unset DECL_DEFER_OUTPUT on decls considered at end of file.

(compile_file): Unset DECL_DEFER_OUTPUT on decls
        considered at end of file.
(rest_of_compilation): Also postpone compilation of
        inlines with DECL_DEFER_OUTPUT set.
        (compile_file): Always emit postponed inlines if
        -fkeep-inline-functions.

From-SVN: r7507

30 years ago(DECL_DEFER_OUTPUT): New macro.
Jason Merrill [Thu, 16 Jun 1994 23:37:43 +0000 (23:37 +0000)]
(DECL_DEFER_OUTPUT): New macro.

From-SVN: r7506

30 years ago(reload_reg_free_p, case RELOAD_OTHER): Allowed to conflict with
Richard Kenner [Thu, 16 Jun 1994 22:54:00 +0000 (18:54 -0400)]
(reload_reg_free_p, case RELOAD_OTHER): Allowed to conflict with
RELOAD_FOR_OTHER_ADDRESS.

From-SVN: r7505

30 years agoCorrect argument type for ffs in string.h on Alpha OSF/1 V2.0
Ian Lance Taylor [Thu, 16 Jun 1994 14:59:50 +0000 (14:59 +0000)]
Correct argument type for ffs in string.h on Alpha OSF/1 V2.0

From-SVN: r7504

30 years ago(set_nonvarying_address_components): Rework and also handle an AND
Richard Kenner [Thu, 16 Jun 1994 10:47:10 +0000 (06:47 -0400)]
(set_nonvarying_address_components): Rework and also handle an AND
used for non-aligned accesses.

From-SVN: r7503

30 years agoChange REG_ALLOC_ORDER so the 386 bootstraps.
Michael Meissner [Thu, 16 Jun 1994 10:36:20 +0000 (10:36 +0000)]
Change REG_ALLOC_ORDER so the 386 bootstraps.

From-SVN: r7502

30 years ago(TARGET_ENV32): Mark as deprecated.
Doug Evans [Thu, 16 Jun 1994 01:07:50 +0000 (01:07 +0000)]
(TARGET_ENV32): Mark as deprecated.

(-mv9/-mno-v9): Not useable yet.
(-m{int,long}{32,64}): Clean up.
(-mptr{32,64}): Comment out for now.

From-SVN: r7501

30 years ago(warn_if_unused_value): Handle TREE_NO_UNUSED_WARNING for
Jason Merrill [Thu, 16 Jun 1994 00:47:03 +0000 (00:47 +0000)]
(warn_if_unused_value): Handle TREE_NO_UNUSED_WARNING for
        COMPOUND_EXPRs, too.

From-SVN: r7500

30 years ago(TREE_NO_UNUSED_WARNING): Note that this can be applied
Jason Merrill [Thu, 16 Jun 1994 00:47:03 +0000 (00:47 +0000)]
(TREE_NO_UNUSED_WARNING): Note that this can be applied
        to COMPOUND_EXPRs, too.

From-SVN: r7499

30 years ago(divsi3): Fix divide by 2^N with compare RTL.
Richard Kenner [Thu, 16 Jun 1994 00:40:39 +0000 (20:40 -0400)]
(divsi3): Fix divide by 2^N with compare RTL.

From-SVN: r7498

30 years ago(maxsf3, minsf3, maxdf3, mindf3): Fix predicate of define_split.
Richard Kenner [Thu, 16 Jun 1994 00:35:05 +0000 (20:35 -0400)]
(maxsf3, minsf3, maxdf3, mindf3): Fix predicate of define_split.

(muldi3): Fix predicate.
(movdf matcher): Allow update and indexed for lfd instruction.

From-SVN: r7497

30 years ago(dbxout_type): Fix call to bzero.
Doug Evans [Wed, 15 Jun 1994 23:23:33 +0000 (23:23 +0000)]
(dbxout_type): Fix call to bzero.

From-SVN: r7496

30 years ago(simplify_unary_operation): Fix typo in last change.
Richard Kenner [Wed, 15 Jun 1994 23:20:18 +0000 (19:20 -0400)]
(simplify_unary_operation): Fix typo in last change.

From-SVN: r7495

30 years ago(dbxout_range_type): Handle an array range that is neither int nor subrange.
Per Bothner [Wed, 15 Jun 1994 22:21:27 +0000 (15:21 -0700)]
(dbxout_range_type):  Handle an array range that is neither int nor subrange.

From-SVN: r7494

30 years ago40th Cygnus<->FSF merge
Mike Stump [Wed, 15 Jun 1994 18:30:58 +0000 (18:30 +0000)]
40th Cygnus<->FSF merge

From-SVN: r7493

30 years agoRemove erroneously-installed change.
Richard Kenner [Wed, 15 Jun 1994 12:22:00 +0000 (08:22 -0400)]
Remove erroneously-installed change.

From-SVN: r7492

30 years agogcc.c: Include multilib.h.
Doug Evans [Wed, 15 Jun 1994 08:04:07 +0000 (08:04 +0000)]
gcc.c: Include multilib.h.

* gcc.c: Include multilib.h.
(print_multi_lib, print_multi_directory, multilib_select,
multilib_dir): New static variables.
(option_map): Added --print-multi-lib and --print-multi-directory.
(set_spec): Get multilib_select from specs file.
(process_command): Dump multilib_select into specs file.  Handle
-print-multi-lib and -print-multi-directory.
(do_spec_1): Try multilib_dir for %D case.
(find_file): Try multilib_dir.
(main): Call set_multilib_dir.  Handle print_multi_lib and
print_multi_directory.
(used_arg, set_multilib_dir, print_multilib_info): New functions.

From-SVN: r7491

30 years ago(multilib.h, stmp-multilib, install-multilib): New targets.
Doug Evans [Wed, 15 Jun 1994 08:03:05 +0000 (08:03 +0000)]
(multilib.h, stmp-multilib, install-multilib): New targets.

(gcc.o): Depend on multilib.h.
(clean): Remove multilib.h and tmpmultilib*.

From-SVN: r7490

30 years agoInitial revision
Doug Evans [Wed, 15 Jun 1994 08:01:42 +0000 (08:01 +0000)]
Initial revision

From-SVN: r7489

30 years agoInitial revision
Doug Evans [Wed, 15 Jun 1994 07:53:49 +0000 (07:53 +0000)]
Initial revision

From-SVN: r7488

30 years agosparc.md (cpu): New attribute.
Doug Evans [Wed, 15 Jun 1994 07:50:13 +0000 (07:50 +0000)]
sparc.md (cpu): New attribute.

* sparc/sparc.md (cpu): New attribute.
(type attribute): New value cmove (conditional moves).
(cmpdi): New pattern for v9.
(seq*, sne*): Add v9 support.
(sgt,slt,sge,sle): Explicitly restrict operand 0 to the integer
registers.  Try emitting a conditional move for v9.
(sgtu,sltu,sgeu,sleu): Likewise.
(comparison insns): Add v9 versions.
(scc insns): Add DImode versions for v9.
(beq, bne, bgt, blt, bge, ble): If comparing DImode with 0 on v9,
use brxx insns.  Use emit_jump_insn, not emit_insn, as the latter
mishandles brxx insns.
(branch insns): Update calls to output_cbranch.
Add v9 versions to support multiple floating point condition code regs.
Add v9 versions to support brxx insns.
(lo_sum, high, pic): Add v9 support.
(symbolic move patterns): Disable for v9.
(DImode, DFmode, TFmode moves): Add v9 support.
(conditional move insns): Define for v9.
(zero_extendqidi2, extendqidi2, zero_extendhidi2, extendhidi2,
zero_extendsidi2, extendsidi2, floatdisf2, floatdidf2, floatditf2,
fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2, muldi3, divdi3,
udivdi3, ashldi3, ashrdi3, lshrdi3, ffsdi2): New patterns for v9.
(bitfield compare insn): Add DImode version for v9.
(adddi3, subdi3, negdi2, anddi3, iordi3, xordi3, one_cmpldi2,
mixed mode fp mult insns, negdf2, negtf2, absdf2, abstf2, tablejump,
call, call_value, untyped_call, untyped_return, indirect_jump,
flush_register_windows, flush): Add v9 support.
(ldd peep holes): Disable for v9.
(set/compare peep hole): Define DImode version for v9.
(sign extend/compare peep hole): Likewise.
(return peep holes): Add v9 support.
(call/jump peep holes): Add v9 support.

From-SVN: r7487

30 years agosparc.c (SKIP_CALLERS_UNIMP_P): Define.
Doug Evans [Wed, 15 Jun 1994 07:49:12 +0000 (07:49 +0000)]
sparc.c (SKIP_CALLERS_UNIMP_P): Define.

* sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Define.
(sparc_cpu_type, sparc_arg_count, sparc_n_named_args,
frame_base_offset, fpconv_stack_temp): New globals.
(leaf_reg_remap): Add additional registers for v9.
(sparc_override_options, sparc64_init_expanders,
sparc64_fpconv_stack_temp, intreg_operand, ccfp_reg_operand,
data_segment_operand, text_segment_operand, v9_regcmp_op,
arith11_operand, arith10_operand, arith11_double_operand,
arith10_double_operand, gen_v9_scc, emit_v9_brxx_insn,
sparc_init_modes, build_big_number, output_v9branch,
sparc_initialize_trampoline, sparc64_initialize_trampoline):
New functions.
(arith_double_operand, gen_compare_reg, finalize_pic,
emit_move_sequence, mem_aligned_8, output_move_double,
output_move_quad, output_fp_move_double, output_fp_move_quad,
output_block_move, save_regs, restore_regs): Add v9 support.
(sparc_mode_class): New enum.
(*_MODES): Redefine to use it.
(hard_32bit_mode_classes): Renamed from hard_regno_mode_ok.
(hard_regno_mode_classes, hard_64bit_mode_classes,
sparc_mode_class): New globals.
(num_gfregs): Renamed from num_fregs.
(compute_frame_size): Add v9 support.  Simplify calculations.
(output_function_prologue): Call build_big_number to compute stack
size in %g1, then adjust %sp.
Fix saving of call saved registers.  Handle new v9 registers.
(output_function_epilogue): Fix restoration of call saved registers.
Handle new v9 registers.
Use SKIP_CALLERS_UNIMP_P to see if unimp insn is at return address.
(sparc_builtin_saveregs): Define v9 version.
(output_cbranch): New argument fp_cond_reg.  All callers changed.
Add v9 support.
(output_return): Use SKIP_CALLERS_UNIMP_P.
(print_operand): New codes '_', '@', 'C', 'D'.
(output_double_int): Handle LABEL_REF and MINUS for v9.
Use ASM_LONGLONG if assembler can handle it.

From-SVN: r7486

30 years agosparc.h (cpu_type): New enum.
Doug Evans [Wed, 15 Jun 1994 07:46:50 +0000 (07:46 +0000)]
sparc.h (cpu_type): New enum.

* sparc/sparc.h (cpu_type): New enum.
(CPP_PREDEFINES,CPP_SPEC): Add v9 support.
(NO_BUILTIN_PTRDIFF_TYPE, NO_BUILTIN_SIZE_TYPE, MAX_WCHAR_TYPE_SIZE,
SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE,
FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE, MAX_INT_TYPE_SIZE,
MAX_LONG_TYPE_SIZE): Define.
(PTRDIFF_TYPE, SIZE_TYPE, BITS_PER_WORD, MAX_BITS_PER_WORD,
UNITS_PER_WORD, MAX_UNITS_PER_WORD, LONG_DOUBLE_TYPE_SIZE,
POINTER_SIZE, PARM_BOUNDARY, STACK_BOUNDARY, SPARC_STACK_ALIGN,
EMPTY_FIELD_BOUNDARY, BIGGEST_ALIGNMENT, FIRST_PSEUDO_REGISTER,
FIXED_REGISTERS, CALL_USED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
Add v9 support.
(sparc_override_options, sparc_code_model): Declare.
(OVERRIDE_OPTIONS): Call it.
(MASK_*): Define bits set by target flags.
(TARGET_*): Use them.
({MASK,TARGET}_{V9,INT64,LONG64,PTR64,ENV32,STACK_BIAS,
MEDLOW,MEDANY,FULLANY}): Define.
(MEDANY_BASE_REG): Define.
(V9_SWITCHES, TARGET_OPTIONS): Define.
(TARGET_SWITCHES, TARGET_DEFAULT): Use MASK_*.
(SPARC_STACK_BIAS, SECONDARY_MEMORY_NEEDED_MODE): Define.
(SECONDARY_MEMORY_NEEDED): Simplify.
(hard_regno_mode_class, sparc_mode_class, sparc_cpu_type): Declare.
(REG_PARM_STACK_SPACE): Do not define if v9.
(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, MODES_TIEABLE_P,
RETURN_IN_MEMORY, STRUCT_VALUE, STRUCT_VALUE_INCOMING, reg_class,
REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS, REG_ALLOC_ORDER,
REG_LEAF_ALLOC_ORDER, LEAF_REGISTERS, REG_CLASS_FROM_LETTER,
CLASS_MAX_NREGS, STARTING_FRAME_OFFSET, FIRST_PARM_OFFSET,
BASE_RETURN_VALUE_REG, BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG,
BASE_INCOMING_ARG_REG, FUNCTION_ARG_REGNO_P): Add v9 support.
(sparc_arg_class): New enum (v9 only).
(sparc_args): New struct to record v9 arguments.
(CUMULATIVE_ARGS): Use it (v9 only).
(GET_SPARC_ARG_CLASS): Define.
(sparc_arg_count, sparc_n_named_args): Declare.
(PASS_IN_REG_P): Define.
(ROUND_REG, ROUND_ADVANCE, INIT_CUMULATIVE_ARGS, FUNCTION_ARG_ADVANCE,
FUNCTION_ARG, FUNCTION_INCOMING_ARG, FUNCTION_ARG_PARTIAL_NREGS,
FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_CALLEE_COPIES):
Add v9 support.
(sparc64_init_expanders, sparc64_fpconv_stack_temp): Declare.
(INIT_EXPANDERS): Define (v9 only).
(gen_v9_scc, output_v9branch): Declare.
(HAVE_conditional_move): Define.
(FUNCTION_PROFILER, FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
DYNAMIC_CHAIN_ADDRESS, RETURN_ADDR_RTX, REGNO_OK_FOR_FP_P,
REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P, EXTRA_CONSTRAINT,
CASE_VECTOR_MODE, Pmode, EXTRA_CC_MODES, EXTRA_CC_NAMES,
SELECT_CC_MODE, REGISTER_NAMES): Add v9 support.
(REGNO_OK_FOR_CCFP_P): Define.
(sparc_initialize_trampoline, sparc64_initialize_trampoline): Declare.
(INITIALIZE_TRAMPOLINE): Call them.
(ENCODE_SECTION_INFO): Mark functions in v9.
(RTX_COSTS): Assume MULT costs the same for v9 as v8.
(ASM_LONGLONG, ASM_FLOAT): Define.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Add v9 support.

From-SVN: r7485

30 years ago* sparc/sysv4.h (ASM_OUTPUT_CASE_LABEL): Handle 64 bit pointers.
Doug Evans [Wed, 15 Jun 1994 07:45:23 +0000 (07:45 +0000)]
* sparc/sysv4.h (ASM_OUTPUT_CASE_LABEL): Handle 64 bit pointers.

From-SVN: r7484

30 years agoAdd v9 support.
Doug Evans [Wed, 15 Jun 1994 07:43:31 +0000 (07:43 +0000)]
Add v9 support.

From-SVN: r7483

30 years agogenconfig.c (main): Allow targets to override HAVE_conditional_move.
Doug Evans [Wed, 15 Jun 1994 07:42:17 +0000 (07:42 +0000)]
genconfig.c (main): Allow targets to override HAVE_conditional_move.

* genconfig.c (main): Allow targets to override HAVE_conditional_move.
* jump.c (jump_optimize): Use it at run-time.

From-SVN: r7482

30 years agoconfig.sub (sparc64): New cpu.
Doug Evans [Wed, 15 Jun 1994 07:40:43 +0000 (07:40 +0000)]
config.sub (sparc64): New cpu.

* config.sub (sparc64): New cpu.
(aout, elf): New os's.

From-SVN: r7481

30 years agoSupport 32x32->64 bit multiply
Michael Meissner [Wed, 15 Jun 1994 02:44:18 +0000 (02:44 +0000)]
Support 32x32->64 bit multiply

From-SVN: r7480

30 years agoTrivial simplification of many patterns.
Torbjorn Granlund [Wed, 15 Jun 1994 02:35:23 +0000 (02:35 +0000)]
Trivial simplification of many patterns.

(subsi3): Don't handle CONST_INT for operand 2.
(ashiftrt, op2 > 8): New pattern.
(lshiftrt, op2 > 8): New pattern.

From-SVN: r7479

30 years ago(PREDICATE_CODES): Add cmplsrcb_operand.
Torbjorn Granlund [Wed, 15 Jun 1994 02:32:24 +0000 (02:32 +0000)]
(PREDICATE_CODES): Add cmplsrcb_operand.

From-SVN: r7478

30 years ago(cmplsrcb_operand): New predicate.
Torbjorn Granlund [Wed, 15 Jun 1994 02:32:05 +0000 (02:32 +0000)]
(cmplsrcb_operand): New predicate.

From-SVN: r7477

30 years ago(logical patterns): Tune to give better code for immediate values.
Torbjorn Granlund [Wed, 15 Jun 1994 02:31:28 +0000 (02:31 +0000)]
(logical patterns): Tune to give better code for immediate values.

From-SVN: r7476

30 years agoRevert last patch: (fold, case *_DIV_EXPR): Optimize (x / C << y)...
Torbjorn Granlund [Wed, 15 Jun 1994 02:29:07 +0000 (02:29 +0000)]
Revert last patch: (fold, case *_DIV_EXPR): Optimize (x / C << y)...

From-SVN: r7475