Commit Graph

7422 Commits

Author SHA1 Message Date
Richard Earnshaw
aef1764cb3 (CONST_OK_FOR_LETTER_P): Only allow constants valid when inverted for 'K'.
Only allow constants valid when negated for 'L'.

From-SVN: r7435
1994-06-03 13:17:55 +00:00
Jeff Law
f726ea7dd5 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
1994-06-02 21:06:45 -06:00
Jeff Law
b99e1ee9e9 * pa.h (ASM_DECLARE_FUNCTION_NAME): Fix typo.
From-SVN: r7433
1994-06-02 20:43:15 -06:00
Jason Merrill
413ec213e4 (expand_end_bindings): Don't bother emitting cleanups
after a barrier.

From-SVN: r7432
1994-06-02 22:28:22 +00:00
Richard Kenner
d9e1ab8d4e (__floatdisf): Protect against double-rounding error.
From-SVN: r7431
1994-06-02 18:10:30 -04:00
Richard Kenner
a473029f5c (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
1994-06-02 17:47:39 -04:00
Richard Kenner
68c49ffa40 (processor_target_table): Use new macros.
From-SVN: r7429
1994-06-02 17:47:12 -04:00
Richard Kenner
583cf4db89 (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
1994-06-02 17:42:15 -04:00
Richard Kenner
ba5ce70d08 (c_build_type_variant): Don't change TYPE_MAIN_VARIANT of new type.
From-SVN: r7427
1994-06-02 17:31:34 -04:00
Richard Earnshaw
7bc7696cba 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
1994-06-02 18:41:52 +00:00
Richard Earnshaw
c63165beb4 (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
1994-06-02 18:41:52 +00:00
Richard Earnshaw
ef65c0dcdf (ASM_FINAL_SPEC [CROSS_COMPILE]): Correct typo.
Update copyright message.

From-SVN: r7424
1994-06-02 18:41:52 +00:00
Richard Earnshaw
9997d19d6d (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
1994-06-02 18:41:52 +00:00
Richard Stallman
945388edd6 [emacs]: Block input around the garbage reclamation.
Include blockinput.h.

From-SVN: r7422
1994-06-02 17:45:40 +00:00
Richard Kenner
119af78aa8 (expand_expr, case ADDR_EXPR): If result is ignored, just return
const0_rtx.

From-SVN: r7421
1994-06-02 08:13:33 -04:00
Richard Kenner
94b25f81ca Update comments.
From-SVN: r7420
1994-06-02 07:24:33 -04:00
Jason Merrill
302499a9fe #define NO_IMPLICIT_EXTERN_C.
From-SVN: r7419
1994-06-01 23:00:15 +00:00
Richard Earnshaw
0f447ef2fc (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
1994-06-01 17:11:23 +00:00
Richard Earnshaw
008cf58a2b 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
1994-06-01 17:10:50 +00:00
Richard Earnshaw
f3bb6135f6 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
1994-06-01 17:09:29 +00:00
Richard Earnshaw
a1dc0475d6 (all patterns): length attribute now describes length in bytes.
From-SVN: r7415
1994-06-01 08:53:42 +00:00
Richard Earnshaw
5472d00b23 (short_branch): Convert length calculations to bytes
From-SVN: r7414
1994-06-01 08:52:15 +00:00
Jim Wilson
c5563e117b (movesi_unaligned, movsi_ulw, movsi_usw): Delete.
(extv, extzv, insv, movsi_ulw, movsi_usw): New patterns.

From-SVN: r7413
1994-05-31 17:48:34 -07:00
Torbjorn Granlund
a40ed31be5 (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
1994-06-01 00:39:40 +00:00
Torbjorn Granlund
80225b66a6 (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
1994-06-01 00:38:18 +00:00
Jim Wilson
e65f61cfe4 (dbxout_type): Always emit cross-references if
use_gnu_debug_info_extensions set.

From-SVN: r7410
1994-05-31 17:23:46 -07:00
Jim Wilson
b2526fe621 (output_source_line): Call xcoffout_source_line.
From-SVN: r7409
1994-05-31 17:23:08 -07:00
Jim Wilson
3fe49c0021 (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
1994-05-31 17:22:08 -07:00
Jim Wilson
9459d8f57e (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
1994-05-31 17:21:39 -07:00
Jim Wilson
2d98fe23f4 (copy_loop_body): Copy CALL_INSN_FUNCTION_USAGE field.
From-SVN: r7406
1994-05-31 17:17:00 -07:00
Jim Wilson
b877b5ab3e (ASM_SPEC): Don't pass -k when -pg or -p given.
(OVERRIDE_OPTIONS): Warn when disabling -fpic.

From-SVN: r7405
1994-05-31 17:04:46 -07:00
Jim Wilson
6ba295268b (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
1994-05-31 16:58:03 -07:00
Jim Wilson
3c2eb9e1db (PUT_SDB_TYPE): Adjust value for compatibility with GNU960 toolchain.
From-SVN: r7403
1994-05-31 16:54:27 -07:00
Jim Wilson
54a53d8cf5 New file.
From-SVN: r7402
1994-05-31 16:37:39 -07:00
Jim Wilson
9ee6230c93 (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
1994-05-31 16:32:03 -07:00
Doug Evans
e648e0e387 (main): -MG doesn't make sense with -MD or -MMD!
From-SVN: r7400
1994-05-31 23:31:48 +00:00
Torbjorn Granlund
b16656f641 (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
1994-05-31 23:17:21 +00:00
Doug Evans
22d7456253 (v_pedwarn_with_decl): Don't even issue warnings from
pedantic errors in system header files.

From-SVN: r7398
1994-05-31 23:15:01 +00:00
Richard Kenner
2bee044942 (extendqidi2, extendqisi2, extendqihi2): Remove non-existent lba instruction.
(ashrdi3): Undo previous change.

From-SVN: r7397
1994-05-31 17:16:25 -04:00
Jason Merrill
7efad3f776 (lang_options): Add -f{no-,}implicit-templates.
(compile_file): Don't output SDB debugging info for
        externals.

From-SVN: r7396
1994-05-31 19:31:18 +00:00
Richard Kenner
ca800983cb (note_addr_stored): A SET or CLOBBER of a BLKmode MEM means that all
memory is clobbered.

From-SVN: r7395
1994-05-31 07:20:06 -04:00
Richard Kenner
058f58ed24 (expand_asm_operands): Make MEM with BLKmode for clobber of "memory".
From-SVN: r7394
1994-05-31 07:19:37 -04:00
Doug Evans
86739c7bb7 (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
1994-05-30 18:01:10 +00:00
Doug Evans
256a105a30 (default_compilers): Pass -MG to cpp if present.
(option_map): New option --print-missing-file-dependencies/-MG.

From-SVN: r7392
1994-05-30 17:58:54 +00:00
Richard Kenner
44f51d4ad5 (expand_float): Fix error in last change.
From-SVN: r7391
1994-05-30 12:38:00 -04:00
Richard Kenner
3537b3d406 Disable code that manages gcc.ifile.
From-SVN: r7390
1994-05-30 10:42:01 -04:00
Richard Kenner
82bb0dd1e4 (PREFERRED_DEBUGGING_TYPE): Define as SDB_DEBUG.
From-SVN: r7389
1994-05-30 10:41:31 -04:00
Richard Kenner
84f9b8e9b8 (significand_size): Declare.
From-SVN: r7388
1994-05-30 10:35:44 -04:00
Richard Kenner
8ddae3488d (significand_size): New function.
From-SVN: r7387
1994-05-30 10:34:11 -04:00
Richard Kenner
a48fb61b5b (expand_float): Avoid double-rounding when float is is narrower than
int.

From-SVN: r7386
1994-05-30 10:33:41 -04:00