gcc.git
30 years ago(arm_reload_out_hi): Rewrite.
Richard Earnshaw [Mon, 6 Jun 1994 13:14:03 +0000 (13:14 +0000)]
(arm_reload_out_hi): Rewrite.

(arm_reload_out_hi): Rewrite.  Add support for processors running in
big-endian mode.
(fp_immediate_constant): Fix typo in argument declaration.

From-SVN: r7449

30 years ago(storehi_bigend): New expansion pattern.
Richard Earnshaw [Mon, 6 Jun 1994 13:14:03 +0000 (13:14 +0000)]
(storehi_bigend): New expansion pattern.

(storeinthi): Rework to generate better code, add big-endian support.
(movhi): Add support for processors running in big-endian mode.
(movhi_bigend): New expansion pattern.
(matcher for movhi): Remove incorrect alternative for storing HImode to
memory.  Only match when little endian.
(matcher for big-endian movhi): New pattern.
(matchers/peepholes for extended pre/post increment HImode loads): Only
match when little-endian.
(matcher for operating on adjacent memory locations): Load operation into
arith operands.
(peepholes for extended pre-increment byte loads): New patterns.

From-SVN: r7448

30 years ago(PROMOTE_MODE): Promote HImode integers as signed.
Richard Earnshaw [Mon, 6 Jun 1994 13:14:03 +0000 (13:14 +0000)]
(PROMOTE_MODE): Promote HImode integers as signed.

(BYTES_BIG_ENDIAN): Allow target description to override default.
(LOAD_EXTEND_OP): When big-endian, HImode loads are sign extended.

From-SVN: r7447

30 years ago(__gnuc_va_list): Use instead of va_list.
Doug Evans [Sun, 5 Jun 1994 01:06:20 +0000 (01:06 +0000)]
(__gnuc_va_list): Use instead of va_list.

From-SVN: r7446

30 years ago(*): Use __gnuc_va_list, not va_list.
Doug Evans [Sun, 5 Jun 1994 01:05:11 +0000 (01:05 +0000)]
(*): Use __gnuc_va_list, not va_list.

From-SVN: r7445

30 years ago(FUNCTION_PROFILER): Delete duplicate definition.
Richard Earnshaw [Sat, 4 Jun 1994 11:17:23 +0000 (11:17 +0000)]
(FUNCTION_PROFILER): Delete duplicate definition.

(FUNCTION_PROFILER, TRAMPOLINE_TEMPLATE, ASM_FILE_START,
 ASM_OUTPUT_REG_{PUSH,POP}, PRINT_OPERAND_ADDRESS):  Output register
 prefix before any explicit register name.
(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
 ASM_OUTPUT_COMMON): Output the target dependent comment char.
(ASM_FILE_START): Output register alias for r10.
(REGISTER_NAMES): Output "r9" now for r9, not "rfp".
(ADDITIONAL_REGISTER_NAMES): New macro.

From-SVN: r7444

30 years ago(all patterns explicitly mentioning regs): Output the target dependent prefix before...
Richard Earnshaw [Sat, 4 Jun 1994 11:17:23 +0000 (11:17 +0000)]
(all patterns explicitly mentioning regs): Output the target dependent prefix before the register name.

(all patterns explicitly mentioning regs): Output the target dependent
prefix before the register name.
(all patterns with asm comments): Output the target dependent comment
character.

From-SVN: r7443

30 years ago(print_multi_reg, output_call, output_call_mem,
Richard Earnshaw [Sat, 4 Jun 1994 11:17:23 +0000 (11:17 +0000)]
(print_multi_reg, output_call, output_call_mem,

 output_mov_long_double_fpu_from_arm,
 output_mov_long_double_arm_from_fpu,
 output_mov_double_fpu_from_arm, output_mov_double_arm_from_fpu,
 output_return_instruction, output_func_{prologue,epilogue},
 arm_print_operand, output_load_symbol):  Print the register prefix
before each register name.
(output_func_prologue, output_lcomm_directive):  Output the target
dependent comment char for asm comments.

From-SVN: r7442

30 years ago(make_decl_rtl): If section attribute is being ignored, really ignore it.
Doug Evans [Fri, 3 Jun 1994 22:13:55 +0000 (22:13 +0000)]
(make_decl_rtl): If section attribute is being ignored, really ignore it.

From-SVN: r7441

30 years ago(decl_attributes): Fix section attribute breakage.
Doug Evans [Fri, 3 Jun 1994 22:12:54 +0000 (22:12 +0000)]
(decl_attributes): Fix section attribute breakage.

From-SVN: r7440

30 years ago39th Cygnus<->FSF merge
Mike Stump [Fri, 3 Jun 1994 21:42:31 +0000 (21:42 +0000)]
39th Cygnus<->FSF merge

From-SVN: r7439

30 years ago(FP_REGNO_P): New macro for intra file usage.
Torbjorn Granlund [Fri, 3 Jun 1994 19:50:48 +0000 (19:50 +0000)]
(FP_REGNO_P): New macro for intra file usage.

(REGNO_OK_FOR_FP_P): Use FP_REGNO_P.
(FUNCTION_VALUE_REGNO_P): Revert last change.
(CONDITIONAL_REGISTER_USAGE): Partially revert last changes;
Make non-existing 1.0 fp regs fixed, including odd-numbered regs.
(enum reg_class): Get rid of SNAKE_FP_REGS, GENERAL_OR_SNAKE_FP_REGS,
and NON_SHIFT_REGS.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
(REGNO_REG_CLASS): Likewise.
(HARD_REGNO_MODE_OK): Corresponding changes.  Don't force 1.0 fpregs
to even regno here; fixed_regs does the job better.
(FP_REG_CLASS_P): Get rid of SNAKE_FP_REGS.
(REG_CLASS_FROM_LETTER, case 'z'): Deleted.
(HARD_REGNO_NREGS): Partially revert last change.
(CLASS_MAX_NREGS): Partially revert last change.

From-SVN: r7438

30 years ago(mulsi3): Use MATCH_DUP for op3, not MATCH_OPERAND.
Torbjorn Granlund [Fri, 3 Jun 1994 19:50:04 +0000 (19:50 +0000)]
(mulsi3): Use MATCH_DUP for op3, not MATCH_OPERAND.

(globally): Delete 'x' constraint or change it to 'f', as apropriate.

From-SVN: r7437

30 years ago(all patterns): Update instruction generation to reflect new meanings of constraints...
Richard Earnshaw [Fri, 3 Jun 1994 13:18:24 +0000 (13:18 +0000)]
(all patterns): Update instruction generation to reflect new meanings of constraints 'K' and 'L'.

(all patterns): Update instruction generation to reflect new meanings of
constraints 'K' and 'L'.  Use output type 'B' to generate an inverted
constant.  Use output type 'N' to generate a negated floating point
constant.

From-SVN: r7436

30 years ago(CONST_OK_FOR_LETTER_P): Only allow constants valid when inverted for 'K'.
Richard Earnshaw [Fri, 3 Jun 1994 13:17:55 +0000 (13:17 +0000)]
(CONST_OK_FOR_LETTER_P): Only allow constants valid when inverted for 'K'.

Only allow constants valid when negated for 'L'.

From-SVN: r7435

30 years agopa.h (TARGET_SWITCHES): Enable TARGET_LONG_CALLS when TARGET_PORTABLE_RUNTIME is...
Jeff Law [Fri, 3 Jun 1994 03:06:45 +0000 (21:06 -0600)]
pa.h (TARGET_SWITCHES): Enable TARGET_LONG_CALLS when TARGET_PORTABLE_RUNTIME is enabled.

 * pa.h (TARGET_SWITCHES): Enable TARGET_LONG_CALLS when
TARGET_PORTABLE_RUNTIME is enabled.
* pa.c (output_call): If TARGET_LONG_CALLS is enabled, then emit
an inline long-call sequence.
* pa.md (millicode define_delay): Disable delay slots if
TARGET_LONG_CALLS.
(call_internal_reg, call_value_internal_reg): If TARGET_LONG_CALLS
is enabled, then emit an inline long-call sequence.  Fix length
computation for TARGET_LONG_CALLS.
(millicode calls): Fix length computation for TARGET_LONG_CALLS.

From-SVN: r7434

30 years ago* pa.h (ASM_DECLARE_FUNCTION_NAME): Fix typo.
Jeff Law [Fri, 3 Jun 1994 02:43:15 +0000 (20:43 -0600)]
* pa.h (ASM_DECLARE_FUNCTION_NAME): Fix typo.

From-SVN: r7433

30 years ago(expand_end_bindings): Don't bother emitting cleanups
Jason Merrill [Thu, 2 Jun 1994 22:28:22 +0000 (22:28 +0000)]
(expand_end_bindings): Don't bother emitting cleanups
        after a barrier.

From-SVN: r7432

30 years ago(__floatdisf): Protect against double-rounding error.
Richard Kenner [Thu, 2 Jun 1994 22:10:30 +0000 (18:10 -0400)]
(__floatdisf):  Protect against double-rounding error.

From-SVN: r7431

30 years ago(define_function_unit): Remove ppc604 from sqrt list.
Richard Kenner [Thu, 2 Jun 1994 21:47:39 +0000 (17:47 -0400)]
(define_function_unit): Remove ppc604 from sqrt list.

(divsi3, udivsi3): Remove spaces from PowerPC output templates.
(sqrtsf2, maxsf3, minsf3, sqrtdf2, maxdf3, mindf3): Use new macros.
(floatdidf2, fix_truncdfdi2, ffsdi2, muldi3, smuldi3_highpart,
umuldi3_highpart, divdi3, udivdi3, rotldi3): New patterns.
(movdi): Handle moves between FPRs and GPRs.
(scc insn): Correct swapped compare and delayed_compare attributes.

From-SVN: r7430

30 years ago(processor_target_table): Use new macros.
Richard Kenner [Thu, 2 Jun 1994 21:47:12 +0000 (17:47 -0400)]
(processor_target_table): Use new macros.

From-SVN: r7429

30 years ago(MASK_PPCFPX): Delete.
Richard Kenner [Thu, 2 Jun 1994 21:42:15 +0000 (17:42 -0400)]
(MASK_PPCFPX): Delete.

(MASK_PPC_GPOPT, MASK_PPC_GFXOPT, TARGET_PPC_GPOPT, TARGET_PPC_GFXOPT):
New Macros.
(TARGET_SWITCHES): Remove -mpowerpc-fpx; add -mpowerpc-gpopt
and -mpowerpc-gfxopt.

From-SVN: r7428

30 years ago(c_build_type_variant): Don't change TYPE_MAIN_VARIANT of new type.
Richard Kenner [Thu, 2 Jun 1994 21:31:34 +0000 (17:31 -0400)]
(c_build_type_variant): Don't change TYPE_MAIN_VARIANT of new type.

From-SVN: r7427

30 years agooutput_func_{prologue,epilogue}): Change declarations from output_{prologue,epilogue}.
Richard Earnshaw [Thu, 2 Jun 1994 18:41:52 +0000 (18:41 +0000)]
output_func_{prologue,epilogue}): Change declarations from output_{prologue,epilogue}.

output_func_{prologue,epilogue}): Change declarations from
output_{prologue,epilogue}.
(arm_output_llc, arithmetic_instr, output_arithmetic_with_immediate_mulitply,
 output_arithmetic_with_shift, shift_instr): Delete function definition.
(ASM_OUTPUT_OPCODE): Delete.
(PRINT_OPERAND): Call arm_print_operand, instead of doing it directly.
(ARM_COMMENT_CHAR): New macro.
(ARM_REG_PREFIX): New macro.
(ARM_SIGN_EXTEND): New macro.
(PRINT_OPERAND_ADDRESS): Delete variable 'shift'.  Change type of
variable 'offset' to HOST_WIDE_INT.  Use arm_print_operand to handle
shifts in addresses.

From-SVN: r7426

30 years ago(all output patterns): Use new capabilities of arm_print_operand to simplify output...
Richard Earnshaw [Thu, 2 Jun 1994 18:41:52 +0000 (18:41 +0000)]
(all output patterns): Use new capabilities of arm_print_operand to simplify output sequences.

(all output patterns): Use new capabilities of arm_print_operand to
simplify output sequences.  Mark position of condition code with '%?'.

From-SVN: r7425

30 years ago(ASM_FINAL_SPEC [CROSS_COMPILE]): Correct typo.
Richard Earnshaw [Thu, 2 Jun 1994 18:41:52 +0000 (18:41 +0000)]
(ASM_FINAL_SPEC [CROSS_COMPILE]): Correct typo.

Update copyright message.

From-SVN: r7424

30 years ago(arm_condition_code): Move to start of file.
Richard Earnshaw [Thu, 2 Jun 1994 18:41:52 +0000 (18:41 +0000)]
(arm_condition_code): Move to start of file.

(const_pool_offset): Correct typo.
(fp_const_from_val): New function.
(all instruction generators): mark position where conditionalization
should be with '%?'.
(output_move_double): Use new '%m' output type to simplify load/store
multiple generation.
(shift_instr): Delete.
(shift_op): New function.
(output_arithmetic): Delete.
(output_arithmetic_with_shift): Delete.
(output_arithmetic_with_immediate_multiply): Delete.
(output_shifted_move): Delete.
(output_shift_compare): Delete.
(arm_print_operand): New function.

From-SVN: r7423

30 years ago[emacs]: Block input around the garbage reclamation.
Richard Stallman [Thu, 2 Jun 1994 17:45:40 +0000 (17:45 +0000)]
[emacs]: Block input around the garbage reclamation.

Include blockinput.h.

From-SVN: r7422

30 years ago(expand_expr, case ADDR_EXPR): If result is ignored, just return
Richard Kenner [Thu, 2 Jun 1994 12:13:33 +0000 (08:13 -0400)]
(expand_expr, case ADDR_EXPR): If result is ignored, just return
const0_rtx.

From-SVN: r7421

30 years agoUpdate comments.
Richard Kenner [Thu, 2 Jun 1994 11:24:33 +0000 (07:24 -0400)]
Update comments.

From-SVN: r7420

30 years ago#define NO_IMPLICIT_EXTERN_C.
Jason Merrill [Wed, 1 Jun 1994 23:00:15 +0000 (23:00 +0000)]
#define NO_IMPLICIT_EXTERN_C.

From-SVN: r7419

30 years ago(all insn and peephole patterns): Rewrite without using arm_output_asm_insn.
Richard Earnshaw [Wed, 1 Jun 1994 17:11:23 +0000 (17:11 +0000)]
(all insn and peephole patterns): Rewrite without using arm_output_asm_insn.

(matcher for movsi): New alternative to load symbol directly into a register.
Add new parameter in call to output_load_symbol.

From-SVN: r7418

30 years agoDelete some dead code.
Richard Earnshaw [Wed, 1 Jun 1994 17:10:50 +0000 (17:10 +0000)]
Delete some dead code.

(FUNCTION_{PROLOGUE,EPILOGUE}): Call output_func_{prologue,epilogue}.
(INITIAL_ELIMINATION_OFFSET): Inspect all registers, but only add those that
are not in call_used_regs.
(GO_IF_LEGITIMATE_INDEX): Change type of variable 'range' to HOST_WIDE_INT;
change type of variable 'code' to enum rtx_code.

(arm_output_asm_insn): Delete declaration.
(EXTRA_CONSTAINT): New constraint 'R' to match a constant pool label.
Make constraint 'S' never match when not optimizing.
(CONSTANT_ADDRESS_P): Only accept symbols marked with SYMBOL_REF_FLAG when
optimizing.
(ENCODE_SECTION_INFO): Don't mark any symbols when not optimizing.
(ASM_OUTPUT_REG_{PUSH,POP}: Don't call arm_increase_location.
(ASM_OUTPUT_ADDR_VEC_ELT): Likewise.

From-SVN: r7417

30 years agoGeneral tidy up.
Richard Earnshaw [Wed, 1 Jun 1994 17:09:29 +0000 (17:09 +0000)]
General tidy up.

#include <string.h>.
Declare some prototypes.
(output_memory_reference_mode): Change type to enum machine_mode.
(arm_const_nmoves): Delete.
(adjacent_mem_locations, {load,store}_multiple_operation): Explicitly
declare to return int.
({load,store}_multiple_operation): Change type of 'count', 'base' and 'i' to
HOST_WIDE_INT.
(output_add_immediate): Change type of 'n' to HOST_WIDE_INT.
(output_multi_immediate): Change type of Argument 'n' to HOST_WIDE_INT, if
wider than 32 bits, mask out the high bits.
(output_arithmetic_with_immediate_multiply): Change type of 'shift'
to HOST_WIDE_INT.
(output_func_{prologue,epilogue}): Renamed from output_{prologue,epilogue}.
Check all registers to see if they are live, but only push/pop them if they
are not in call_used_regs.

(const_pool_offset): New function.
(get_prologue_size): New function.
(output_func_prologue): Eliminate variable code_size.
(output_func_epilogue): Only call arm_increase_location when optimizing; also
add the size of the function just compiled, and the size of the prologue.
(arm_output_asm_insn): Delete.  All callers changed to use output_asm_insn.
(arm_output_llc): Delete.
(output_load_symbol): New first parameter 'insn'.  Rewrite so that assembler
can detect whether we made a mistake.

From-SVN: r7416

30 years ago(all patterns): length attribute now describes length in bytes.
Richard Earnshaw [Wed, 1 Jun 1994 08:53:42 +0000 (08:53 +0000)]
(all patterns): length attribute now describes length in bytes.

From-SVN: r7415

30 years ago(short_branch): Convert length calculations to bytes
Richard Earnshaw [Wed, 1 Jun 1994 08:52:15 +0000 (08:52 +0000)]
(short_branch): Convert length calculations to bytes

From-SVN: r7414

30 years ago(movesi_unaligned, movsi_ulw, movsi_usw): Delete.
Jim Wilson [Wed, 1 Jun 1994 00:48:34 +0000 (17:48 -0700)]
(movesi_unaligned, movsi_ulw, movsi_usw): Delete.

(extv, extzv, insv, movsi_ulw, movsi_usw): New patterns.

From-SVN: r7413

30 years ago(SECONDARY_MEMORY_NEEDED): Simplify.
Torbjorn Granlund [Wed, 1 Jun 1994 00:39:40 +0000 (00:39 +0000)]
(SECONDARY_MEMORY_NEEDED): Simplify.

(ADDITIONAL_REGISTER_NAMES): Define.
(CONDITIONAL_REGISTER_USAGE): Make PIC_OFFSET_TABLE_REGNUM fixed
again.
(FIRST_PSEUDO_REGISTER): Now 89.
(FIXED_REGISTERS): Delete 1.0 fp registers,
(CALL_USED_REGISTERS): Likewise.
(CONDITIONAL_REGISTER_USAGE): Almost deleted.
(REG_ALLOC_ORDER): Update register numbers.
(HARD_REGNO_NREGS): Delete special case for 1.0 fp registers.
(HARD_REGNO_MODE_OK): Rewrite.  Don't allow use of odd fp registers
(enum reg_class): Delete HI_SNAKE_FP_REGS and FP_OR_SNAKE_FP_REGS.
(REG_CLASS_NAMES): Corresponding change.
(REG_CLASS_CONTENTS): Delete HI_SNAKE_FP_REGS and
FP_OR_SNAKE_FP_REGS.  Make SNAKE_FP_REGS class contain all fp
registers.  Update all values for changed register numbering.
(REGNO_REG_CLASS): Corresponding changes.
(REG_CLASS_FROM_LETTER): Delete 'y'.
(FP_REG_CLASS_P): No longer test HI_SNAKE_FP_REGS.
(CLASS_MAX_NREGS): Delete special case for 1.1 fp registers.
(FUNCTION_VALUE): Remove TARGET_SNAKE conditionals.
(LIBCALL_VALUE): Likewise.
(FUNCTION_ARG_REGNO_P): Likewise.
(FUNCTION_VALUE_REGNO_P): Likewise.  Add registers 29 and 33.
(FUNCTION_ARG): Remove TARGET_SNAKE conditionals.  Update register
numbers.
(REGNO_OK_FOR_FP_P): Update register number.
(REGISTER_NAMES): Delete special entries for 1.0 fp registers.
(DBX_REGISTER_NUMBER): Likewise.

From-SVN: r7412

30 years ago(emit_move_sequence): Add missing argument to symbolic_operand.
Torbjorn Granlund [Wed, 1 Jun 1994 00:38:18 +0000 (00:38 +0000)]
(emit_move_sequence): Add missing argument to symbolic_operand.

(output_block_move): Prefer addl to add.
(print_operand): Print fp regs with L suffix when appropriate.
(output_arg_descriptor): Rewrite to accomodate new convention for
USE information.
(compute_frame_size): Update for changed register numbers.
Simplify loops over general registers to stop at register 4.
(hppa_expand_prologue): Likewise.
(hppa_expand_epilogue): Likewise.

From-SVN: r7411

30 years ago(dbxout_type): Always emit cross-references if
Jim Wilson [Wed, 1 Jun 1994 00:23:46 +0000 (17:23 -0700)]
(dbxout_type): Always emit cross-references if
use_gnu_debug_info_extensions set.

From-SVN: r7410

30 years ago(output_source_line): Call xcoffout_source_line.
Jim Wilson [Wed, 1 Jun 1994 00:23:08 +0000 (17:23 -0700)]
(output_source_line): Call xcoffout_source_line.

From-SVN: r7409

30 years ago(xcoff_lastfile): New variable.
Jim Wilson [Wed, 1 Jun 1994 00:22:08 +0000 (17:22 -0700)]
(xcoff_lastfile): New variable.

(ABS_OR_RELATIVE_LINENO, ASM_OUTPUT_SOURCE_LINE): Define here.
(xcoffout_source_file, xcoffout_source_line): New functions.
(xcoffout_declare_function): Use xcoffout_source_file.

From-SVN: r7408

30 years ago(xcoff_lastfile): Declare.
Jim Wilson [Wed, 1 Jun 1994 00:21:39 +0000 (17:21 -0700)]
(xcoff_lastfile): Declare.

(DBX_OUTPUT_MAIN_SOURCE_FILENAME): Clean up.  Set xcoff_lastfile.
(ABS_OR_RELATIVE_LINENO, ASM_OUTPUT_SOURCE_LINE): Delete here.
(DBX_OUTPUT_SOURCE_FILENAME): Delete.

From-SVN: r7407

30 years ago(copy_loop_body): Copy CALL_INSN_FUNCTION_USAGE field.
Jim Wilson [Wed, 1 Jun 1994 00:17:00 +0000 (17:17 -0700)]
(copy_loop_body): Copy CALL_INSN_FUNCTION_USAGE field.

From-SVN: r7406

30 years ago(ASM_SPEC): Don't pass -k when -pg or -p given.
Jim Wilson [Wed, 1 Jun 1994 00:04:46 +0000 (17:04 -0700)]
(ASM_SPEC): Don't pass -k when -pg or -p given.

(OVERRIDE_OPTIONS): Warn when disabling -fpic.

From-SVN: r7405

30 years ago(print_global_hdr): Remove "l" from printf format for flags.
Jim Wilson [Tue, 31 May 1994 23:58:03 +0000 (16:58 -0700)]
(print_global_hdr): Remove "l" from printf format for flags.

(print_global_hdr): Remove "l" from printf format
for flags.
(print_sym_hdr): Add missing "l" to printf formats.
(print_symbol, print_file_desc): Likewise.

From-SVN: r7404

30 years ago(PUT_SDB_TYPE): Adjust value for compatibility with GNU960 toolchain.
Jim Wilson [Tue, 31 May 1994 23:54:27 +0000 (16:54 -0700)]
(PUT_SDB_TYPE): Adjust value for compatibility with GNU960 toolchain.

From-SVN: r7403

30 years agoNew file.
Jim Wilson [Tue, 31 May 1994 23:37:39 +0000 (16:37 -0700)]
New file.

From-SVN: r7402

30 years ago(LIB_SPEC): Don't link in /usr/lib/bb_link.o with -a.
Jim Wilson [Tue, 31 May 1994 23:32:03 +0000 (16:32 -0700)]
(LIB_SPEC): Don't link in /usr/lib/bb_link.o with -a.

(CONDITIONAL_REGISTER_USAGE): When -a, make %g1 and %g2 fixed.

From-SVN: r7401

30 years ago(main): -MG doesn't make sense with -MD or -MMD!
Doug Evans [Tue, 31 May 1994 23:31:48 +0000 (23:31 +0000)]
(main): -MG doesn't make sense with -MD or -MMD!

From-SVN: r7400

30 years ago(movsi matcher): Use ldi for moving of 0 to a reg.
Torbjorn Granlund [Tue, 31 May 1994 23:17:21 +0000 (23:17 +0000)]
(movsi matcher): Use ldi for moving of 0 to a reg.

(movhi matcher): Likewise.
(movqi matcher): Likewise.
(many patterns): Prefer addl to add, and shNaddl to shNadd.
(define_split for (plus (reg) (large_constant))): Cleanup.
(divsi3): Use match_dup for operand 3, not match_operand.
(udivsi3): Likewise.
(modsi3): Likewise.
(umodsi3): Likewise.

From-SVN: r7399

30 years ago(v_pedwarn_with_decl): Don't even issue warnings from
Doug Evans [Tue, 31 May 1994 23:15:01 +0000 (23:15 +0000)]
(v_pedwarn_with_decl): Don't even issue warnings from
pedantic errors in system header files.

From-SVN: r7398

30 years ago(extendqidi2, extendqisi2, extendqihi2): Remove non-existent lba instruction.
Richard Kenner [Tue, 31 May 1994 21:16:25 +0000 (17:16 -0400)]
(extendqidi2, extendqisi2, extendqihi2): Remove non-existent lba instruction.

(ashrdi3): Undo previous change.

From-SVN: r7397

30 years ago(lang_options): Add -f{no-,}implicit-templates.
Jason Merrill [Tue, 31 May 1994 19:31:18 +0000 (19:31 +0000)]
(lang_options): Add -f{no-,}implicit-templates.

        (compile_file): Don't output SDB debugging info for
        externals.

From-SVN: r7396

30 years ago(note_addr_stored): A SET or CLOBBER of a BLKmode MEM means that all
Richard Kenner [Tue, 31 May 1994 11:20:06 +0000 (07:20 -0400)]
(note_addr_stored): A SET or CLOBBER of a BLKmode MEM means that all
memory is clobbered.

From-SVN: r7395

30 years ago(expand_asm_operands): Make MEM with BLKmode for clobber of "memory".
Richard Kenner [Tue, 31 May 1994 11:19:37 +0000 (07:19 -0400)]
(expand_asm_operands): Make MEM with BLKmode for clobber of "memory".

From-SVN: r7394

30 years ago(print_deps_missing_files): New global.
Doug Evans [Mon, 30 May 1994 18:01:10 +0000 (18:01 +0000)]
(print_deps_missing_files): New global.

(main): New argument -MG.  Treat missing include files as
generated files and output dependencies for them.

From-SVN: r7393

30 years ago(default_compilers): Pass -MG to cpp if present.
Doug Evans [Mon, 30 May 1994 17:58:54 +0000 (17:58 +0000)]
(default_compilers): Pass -MG to cpp if present.

(option_map): New option --print-missing-file-dependencies/-MG.

From-SVN: r7392

30 years ago(expand_float): Fix error in last change.
Richard Kenner [Mon, 30 May 1994 16:38:00 +0000 (12:38 -0400)]
(expand_float): Fix error in last change.

From-SVN: r7391

30 years agoDisable code that manages gcc.ifile.
Richard Kenner [Mon, 30 May 1994 14:42:01 +0000 (10:42 -0400)]
Disable code that manages gcc.ifile.

From-SVN: r7390

30 years ago(PREFERRED_DEBUGGING_TYPE): Define as SDB_DEBUG.
Richard Kenner [Mon, 30 May 1994 14:41:31 +0000 (10:41 -0400)]
(PREFERRED_DEBUGGING_TYPE): Define as SDB_DEBUG.

From-SVN: r7389

30 years ago(significand_size): Declare.
Richard Kenner [Mon, 30 May 1994 14:35:44 +0000 (10:35 -0400)]
(significand_size): Declare.

From-SVN: r7388

30 years ago(significand_size): New function.
Richard Kenner [Mon, 30 May 1994 14:34:11 +0000 (10:34 -0400)]
(significand_size): New function.

From-SVN: r7387

30 years ago(expand_float): Avoid double-rounding when float is is narrower than
Richard Kenner [Mon, 30 May 1994 14:33:41 +0000 (10:33 -0400)]
(expand_float): Avoid double-rounding when float is is narrower than
int.

From-SVN: r7386

30 years ago(jump_optimize): When deleting unneeded stack adjusts or mem-mem
Richard Kenner [Sun, 29 May 1994 20:24:15 +0000 (16:24 -0400)]
(jump_optimize): When deleting unneeded stack adjusts or mem-mem
copies, use delete_computation.

From-SVN: r7385

30 years ago(force_to_mode): NEXT_SELECT is true for NEG.
Richard Kenner [Sun, 29 May 1994 20:03:08 +0000 (16:03 -0400)]
(force_to_mode): NEXT_SELECT is true for NEG.

Only exit quickly if X is narrower than MODE and MASK has all bits in X's
mode set.
(force_to_mode, case SUBREG): Don't check for WORD_REGISTER_OPERATIONS.
(force_to_mode, case NEG): Special-case test for low-order bit.

From-SVN: r7384

30 years ago(volatile_insn_p): Call ourselves in recursive scan.
Richard Kenner [Sun, 29 May 1994 19:58:14 +0000 (15:58 -0400)]
(volatile_insn_p): Call ourselves in recursive scan.

From-SVN: r7383

30 years ago(init...
Richard Kenner [Sun, 29 May 1994 02:44:55 +0000 (22:44 -0400)]
(init...

(init, compstmt, stmt, all_iter_stmt_with_decl): If the lookahead
token is a constant and we need to pop the momentary obstack, don't
free it.

From-SVN: r7382

30 years ago(expand_end_case): Have INDEX_TYPE track conversions done to
Richard Kenner [Sat, 28 May 1994 23:03:12 +0000 (19:03 -0400)]
(expand_end_case): Have INDEX_TYPE track conversions done to
INDEX_EXPR.

From-SVN: r7381

30 years ago(call): Force address into register in non-symbol case.
Torbjorn Granlund [Sat, 28 May 1994 10:25:01 +0000 (10:25 +0000)]
(call): Force address into register in non-symbol case.

(call_value): Likewise.

From-SVN: r7380

30 years agotoplev.c (compile_file): Call init_regs after `word_mode' is valid.
Doug Evans [Fri, 27 May 1994 23:29:18 +0000 (23:29 +0000)]
toplev.c (compile_file): Call init_regs after `word_mode' is valid.

* toplev.c (compile_file): Call init_regs after `word_mode' is valid.
* regclass.c (init_reg_modes): If choose_hard_reg_mode can't find a
valid mode, fall back to word_mode.

From-SVN: r7379

30 years agoexpr.c (use_reg): Fix recording of USE information.
Doug Evans [Fri, 27 May 1994 23:27:50 +0000 (23:27 +0000)]
expr.c (use_reg): Fix recording of USE information.

* expr.c (use_reg): Fix recording of USE information.
(use_regs): Likewise.
Delete argument `reg'.  All callers changed.
* expr.h (use_regs): Update prototype.
* calls.c (expand_call): Update call to use_regs.  Call use_reg
if parm is wholly in registers.

From-SVN: r7378

30 years ago(RTX_COSTS): Update PPC603 and PPC604 values.
Richard Kenner [Fri, 27 May 1994 22:18:17 +0000 (18:18 -0400)]
(RTX_COSTS): Update PPC603 and PPC604 values.

From-SVN: r7377

30 years ago(zero_extendqidi2, zero_extendhidi2): Use rldicl instruction.
Richard Kenner [Fri, 27 May 1994 22:17:52 +0000 (18:17 -0400)]
(zero_extendqidi2, zero_extendhidi2): Use rldicl instruction.

From-SVN: r7376

30 years ago(DIR_SEPARATOR): New macro.
Richard Kenner [Fri, 27 May 1994 21:56:04 +0000 (17:56 -0400)]
(DIR_SEPARATOR): New macro.

From-SVN: r7375

30 years ago(PCC_STATIC_STRUCT_RETURN): No longer defined.
Richard Kenner [Fri, 27 May 1994 21:44:59 +0000 (17:44 -0400)]
(PCC_STATIC_STRUCT_RETURN): No longer defined.

From-SVN: r7374

30 years agoUpdate to handle `ginclude' subdirectory when compiling libgcc2.
Richard Kenner [Fri, 27 May 1994 21:36:47 +0000 (17:36 -0400)]
Update to handle `ginclude' subdirectory when compiling libgcc2.

From-SVN: r7373

30 years ago(print_operand_address): print_operand_address creates PLUS-rtls for
Richard Kenner [Fri, 27 May 1994 21:30:31 +0000 (17:30 -0400)]
(print_operand_address): print_operand_address creates PLUS-rtls for
internal use, so it has to handle them.

From-SVN: r7372

30 years ago(find_reloads): Revert to old code and change secondary reloads to
Richard Kenner [Fri, 27 May 1994 20:47:01 +0000 (16:47 -0400)]
(find_reloads): Revert to old code and change secondary reloads to
RELOAD_FOR_OPERAND_ADDRESS too.

From-SVN: r7371

30 years ago(try_combine): Don't make complemented NOT for constant out of range.
Richard Kenner [Fri, 27 May 1994 20:42:08 +0000 (16:42 -0400)]
(try_combine): Don't make complemented NOT for constant out of range.

From-SVN: r7370

30 years ago(iordi3): Rename ior_operand to or_operand.
Richard Kenner [Fri, 27 May 1994 20:38:54 +0000 (16:38 -0400)]
(iordi3): Rename ior_operand to or_operand.

(xordi3): Use or_operand and add second alternative.
(eqv): Only accept registers.

From-SVN: r7369

30 years ago(PREDICATE_CODES): Rename ior_operand to or_operand.
Richard Kenner [Fri, 27 May 1994 20:38:07 +0000 (16:38 -0400)]
(PREDICATE_CODES): Rename ior_operand to or_operand.

From-SVN: r7368

30 years ago(or_operand): Renamed from ior_operand.
Richard Kenner [Fri, 27 May 1994 20:37:42 +0000 (16:37 -0400)]
(or_operand): Renamed from ior_operand.

From-SVN: r7367

30 years ago(assign_parms): Set REG_USERVAR_P when parm is passed by invisible
Richard Kenner [Fri, 27 May 1994 20:13:41 +0000 (16:13 -0400)]
(assign_parms): Set REG_USERVAR_P when parm is passed by invisible
reference but can live in register.

From-SVN: r7366

30 years ago(expand_expr...
Richard Kenner [Fri, 27 May 1994 18:56:31 +0000 (14:56 -0400)]
(expand_expr...

(expand_expr, case CONSTRUCTOR): If constant and large enough for
memcpy to be used, build constructor into static memory.

From-SVN: r7365

30 years agoAdd define_split for sign-extended PLUS of a MULT of an SImode
Richard Kenner [Fri, 27 May 1994 18:15:25 +0000 (14:15 -0400)]
Add define_split for sign-extended PLUS of a MULT of an SImode
comparison.

From-SVN: r7364

30 years ago(simplify_comparison): Narrow comparison for AND's that are ZERO_EXTENDs.
Richard Kenner [Fri, 27 May 1994 17:36:40 +0000 (13:36 -0400)]
(simplify_comparison): Narrow comparison for AND's that are ZERO_EXTENDs.

Can widen for all comparisons if inputs are both sign extended.

From-SVN: r7363

30 years ago(reload_as_needed): Update spill_reg_order once we sort spill_regs.
Richard Kenner [Fri, 27 May 1994 17:32:13 +0000 (13:32 -0400)]
(reload_as_needed): Update spill_reg_order once we sort spill_regs.

From-SVN: r7362

30 years ago(local_alloc): Fix typo in last change.
Richard Kenner [Fri, 27 May 1994 15:53:02 +0000 (11:53 -0400)]
(local_alloc): Fix typo in last change.

From-SVN: r7361

30 years agoAdd define_split for sign-extended PLUS of an SImode comparison;
Richard Kenner [Fri, 27 May 1994 11:26:20 +0000 (07:26 -0400)]
Add define_split for sign-extended PLUS of an SImode comparison;

change comparison to DImode.

From-SVN: r7360

30 years ago(expand_end_case): Use old type of INDEX_EXPR when making a constant.
Richard Kenner [Fri, 27 May 1994 10:33:04 +0000 (06:33 -0400)]
(expand_end_case): Use old type of INDEX_EXPR when making a constant.

From-SVN: r7359

30 years ago(requires_inout): Renamed from requires_inout_p and returns number of alternatives...
Richard Kenner [Fri, 27 May 1994 10:27:03 +0000 (06:27 -0400)]
(requires_inout): Renamed from requires_inout_p and returns number of alternatives that require a match.

(requires_inout): Renamed from requires_inout_p and returns number of
alternatives that require a match.
(block_alloc): Use new function and handle case where all alternatives have
some operand that must match operand 0.

From-SVN: r7358

30 years ago(qty_sugg_compare_1): Fix typo in last change.
Richard Kenner [Fri, 27 May 1994 10:16:16 +0000 (06:16 -0400)]
(qty_sugg_compare_1): Fix typo in last change.

From-SVN: r7357

30 years ago(qty_phys_num{,_copy}_sugg): New variables.
Richard Kenner [Fri, 27 May 1994 10:03:04 +0000 (06:03 -0400)]
(qty_phys_num{,_copy}_sugg): New variables.

(qty_phys_has{,_copy}_sugg): Deleted.
(qty_sugg_compare{,_1}): New functions.
(local_alloc): Allocate and init new vars instead of deleted ones.
(block_alloc): Update and use new vars.
Order quantities using new functions when allocating quantities with
suggested registers.
(combine_regs, find_free_reg): Use new vars to count number of suggestions.

From-SVN: r7356

30 years ago(jump_optimize): When looking for an `if' statement that takes two insns to compute...
Richard Kenner [Thu, 26 May 1994 22:58:47 +0000 (18:58 -0400)]
(jump_optimize): When looking for an `if' statement that takes two insns to compute a result using a temporary...

(jump_optimize): When looking for an `if' statement that takes two
insns to compute a result using a temporary, allow the temporary to be
a SUBREG.

From-SVN: r7355

30 years ago(CANONICALIZE_COMPARISON): New macro.
Richard Kenner [Thu, 26 May 1994 22:49:06 +0000 (18:49 -0400)]
(CANONICALIZE_COMPARISON): New macro.

From-SVN: r7354

30 years ago(simplify_comparison): Call CANONICALIZE_COMPARISON, if defined.
Richard Kenner [Thu, 26 May 1994 22:48:18 +0000 (18:48 -0400)]
(simplify_comparison): Call CANONICALIZE_COMPARISON, if defined.

From-SVN: r7353

30 years agoProtect bool in curses.h
Ian Lance Taylor [Thu, 26 May 1994 22:37:59 +0000 (22:37 +0000)]
Protect bool in curses.h

From-SVN: r7352

30 years ago(simplify_if_then_else): Don't make (mult (cond)) in simple case;
Richard Kenner [Thu, 26 May 1994 22:03:39 +0000 (18:03 -0400)]
(simplify_if_then_else): Don't make (mult (cond)) in simple case;

leave as IF_THEN_ELSE instead.

From-SVN: r7351

30 years agoProtect __P in math.h and floatingpoint.h.
Ian Lance Taylor [Thu, 26 May 1994 16:23:31 +0000 (16:23 +0000)]
Protect __P in math.h and floatingpoint.h.

From-SVN: r7350