Commit Graph

3765 Commits

Author SHA1 Message Date
Paul Eggert c95c47f3e9 (expand_float): When converting an unsigned type U to a smaller or equal-sized floating type F where there's no hardware support for unsigned-to-float conversion...
(expand_float): When converting an unsigned type U
to a smaller or equal-sized floating type F where there's no
hardware support for unsigned-to-float conversion, use a temporary
floating type larger than F if possible, since this avoids
rounding problems that are worst when U is just greater than
the maximum signed integer of the same size.

From-SVN: r3778
1993-03-18 21:28:43 +00:00
Richard Stallman 0cdd3dddae (output_file): New static var.
(main): Set output_file.
(my_exit): Delete output_file on failure.

From-SVN: r3777
1993-03-18 21:17:20 +00:00
Doug Evans 461beb1055 * (assign_parms): Minor cleanup.
From-SVN: r3776
1993-03-18 20:27:21 +00:00
Doug Evans fd328506cc * (expand_call): Fix bug (don't clobber bitpos).
From-SVN: r3775
1993-03-18 17:38:41 +00:00
Richard Stallman 7801a9dc7a (PCC_STATIC_STRUCT_RETURN): Add #undef.
From-SVN: r3774
1993-03-18 05:09:00 +00:00
Michael Meissner fa0fab9e0a Add -Wf,-XNh1500 to OLDCC.
From-SVN: r3773
1993-03-17 22:45:12 +00:00
Jeff Law c1fab10500 pa.md (pre_ldwm, pre_stwm): Name these patterns to make generating them easier.
* pa.md (pre_ldwm, pre_stwm): Name these patterns to make
	generating them easier.
	*post_ldwm, post_stwm): New patterns.
	(add_high_const): New pattern.
	(return): New pattern.

From-SVN: r3772
1993-03-17 15:26:54 -07:00
Jeff Law 6a7d5990f4 pa.c (post_cint_operand): New function.
* pa.c (post_cint_operand): New function.
	(hppa-can_use_return_insn_p): Newfunction.

From-SVN: r3771
1993-03-17 15:26:25 -07:00
Michael Meissner d1399bd0ff Add -mlong-calls.
From-SVN: r3770
1993-03-17 22:22:35 +00:00
Jeff Law 1659445191 pa.h (IS_RELOADING_PSEUDO_P): New subroutine for EXTRA_CONSTRAINT.
* pa.h (IS_RELOADING_PSEUDO_P): New subroutine for EXTRA_CONSTRAINT.
	(EXTRA_CONSTRAINT): Use IS_RELOADING_PSEUDO_P.  Accept any MEM for
	`Q' constraint during hte reload pass.

From-SVN: r3769
1993-03-17 14:15:15 -07:00
Jeff Law 04e1baeec4 pa.md (movqi, [...]): Remove support for GR<->FP copies.
* pa.md (movqi, movhi, movsi, movdi, movsf, movdf): Remove support
	for GR<->FP copies.
	(fix_truncsfsi2, fix_truncdfsi2): Likewise.

From-SVN: r3768
1993-03-17 14:02:18 -07:00
Jeff Law c0c29fa18d pa.c (output_fp_move_double): Remove code to support GR<->FP copies.
* pa.c (output_fp_move_double): Remove code to support GR<->FP
	copies.

From-SVN: r3767
1993-03-17 14:01:55 -07:00
Jeff Law 6b0ae684af pa.h (SECONDARY_MEMORY_NEEDED): Define.
* pa.h (SECONDARY_MEMORY_NEEDED): Define.
	(SECONDARY_MEMORY_NEEDED_RTX): Define.

From-SVN: r3766
1993-03-17 14:01:25 -07:00
Torbjorn Granlund a9a54fe80d (pc_or_label_operand): New predicate.
From-SVN: r3765
1993-03-17 20:57:22 +00:00
Torbjorn Granlund e19ee6593a (branch-on-bit): New patterns.
From-SVN: r3764
1993-03-17 20:56:40 +00:00
Richard Stallman 635c74203f (STRUCT_VALUE): Defined.
(STRUCT_VALUE_REGNUM): Add #undef.

From-SVN: r3763
1993-03-17 19:59:45 +00:00
Richard Kenner e7bb59fa6c (FIXED_REGNO_P): Remove previous change; all callers but one already check.
(CHEAP_REG): Only call FIXED_REGNO_P for hard regs.
(fold_rtx): Clarify comments.

From-SVN: r3762
1993-03-16 17:41:57 -05:00
Jim Wilson 0a7b7709eb (CFLAGS, LIBGCC2_CFLAGS): Delete overrides and comment why they were wrong.
From-SVN: r3761
1993-03-16 12:15:00 -08:00
Jim Wilson e0e2f469f6 (grokdeclarator, ARRARY_REF): If exern, then end
temporary allocation before building type.

From-SVN: r3760
1993-03-16 12:11:12 -08:00
Jim Wilson fe1f7f2437 (SECONDARY_MEMORY_NEEDED_RTX): Define.
From-SVN: r3759
1993-03-16 11:54:08 -08:00
Jim Wilson b24a53d584 (get_secondary_mem): Use macro SECONDARY_MEMORY_NEEDED_RTX.
From-SVN: r3758
1993-03-16 11:52:45 -08:00
James Van Artsdalen 9798977501 (FIXED_REGNO_P): Pseudos can't be fixed regs.
From-SVN: r3757
1993-03-16 09:54:12 +00:00
Richard Stallman ad0c9fa199 Follow whitespace conventions near parens.
From-SVN: r3756
1993-03-16 06:07:43 +00:00
Richard Stallman c6469b460a (main): Report errors in output to pcp_outfile.
(write_output): Use pfatal_with_name for errors.

From-SVN: r3755
1993-03-16 06:04:33 +00:00
Richard Stallman af2cc4dd69 (expand_binop): For doubleword int addition,
clobber the whole register at the start.

From-SVN: r3754
1993-03-16 04:54:43 +00:00
Richard Stallman 1a6603daed (grokdeclarator): Error for div by 0 in array size.
From-SVN: r3753
1993-03-16 04:53:55 +00:00
Richard Stallman d50c1d49cf (write_output): Test value of `write'; report errors.
(out_fname): Var now file-scope.

From-SVN: r3752
1993-03-16 02:44:04 +00:00
Jeff Law ec241c19a4 pa.h (EXTRA_CONSTRAINT, case 'S'): Do not accept CONSTANTP if TARGET_LONG_CALLS.
* pa.h (EXTRA_CONSTRAINT, case 'S'): Do not accept CONSTANTP
	if TARGET_LONG_CALLS.

	* pa.h (EXTRA_CONSTRAINT): Merge strict and non-strict variants.
	Delete 'R' constraint.

From-SVN: r3751
1993-03-15 18:50:54 -07:00
Richard Kenner b2fb324cbf (lea_max_mul): Delete.
(init_expmed): Delete unused variable I.
(enum alg_code): New tag alg_shift.  Document it.
(synth_mult): Delete unused variable N.  Handle new trivial case
first, for T <= 1.  Generalize shifting code to shift whenever a
number is even; use alg_shift for this.  Set best_alg->ops only in
trivial case.  Clean up cost calculation code for the `simple case' at
the end; use shiftadd_cost when appropriate.  Combine declarations of
Q and move to top of function.  Eliminate use of Q in factoring cases.
If we are getting too long a sequence for `struct algorithm' to
record, fail.
(expand_mult): Handle alg_shift instead of alg_add_t_m2 as first
operation.  In RLT emit loop, handle alg_shift; special case LOG == 0
for alg_add_t_m2 and alg_sub_t_m2.

From-SVN: r3750
1993-03-15 18:38:07 -05:00
Richard Kenner 690ef02f08 (ASM_OUTPUT_SHORT): Fix typo in previous change.
From-SVN: r3749
1993-03-15 17:40:29 -05:00
Richard Kenner b7d9299b30 (simplify_plus_minus): Remove last change.
(simplify_plus_minus): Remove last change.  Instead, count initial
operands and test against that count to see if we did anything.

From-SVN: r3748
1993-03-15 17:38:40 -05:00
Doug Evans 682a59faae * (assign_parms): Remove unnecessary #ifdef.
From-SVN: r3747
1993-03-15 21:43:27 +00:00
Jim Wilson c3af9fc81e (reg_known_equiv_p): New variable.
(init_alias_analysis): Allocate and compute reg_known_equiv_p.
(sched_analyze_1): Reenable code for REG_EQUIV notes, using
reg_known_equiv_p so that it is only used on REG_EQUIV notes.
(sched_analyze_2): Likewise.  Only pass memory addresses to the
sched_analyze_2 call.

From-SVN: r3746
1993-03-15 11:48:38 -08:00
Jim Wilson 581c26f946 (NO_SYS_SIGLIST): Define.
From-SVN: r3745
1993-03-15 11:45:11 -08:00
Jim Wilson a2f30f1405 (print_operand_address): For MULT, set ireg not breg.
From-SVN: r3744
1993-03-15 11:42:23 -08:00
Jim Wilson d21a353d96 (zero_extendqisi2+4,+5): Add new patterns for combining a SI->QI mode truncate...
(zero_extendqisi2+4,+5): Add new patterns for combining
a SI->QI mode truncate with an insn that sets the condition codes.

From-SVN: r3743
1993-03-15 11:40:34 -08:00
Jim Wilson 6f0f06377e New file.
From-SVN: r3742
1993-03-15 11:39:03 -08:00
Jim Wilson b66848bfee (sparclite, sparclite-*): New configuration.
From-SVN: r3741
1993-03-15 11:36:54 -08:00
Jim Wilson 8b69d15430 (adjust_priority): Comment unreachable code.
(memrefs_conflict_p): Add comment about Fortran aliasing.

From-SVN: r3740
1993-03-15 11:33:21 -08:00
Richard Kenner 45c45e79fc (ASM_OUTPUT_{INT,SHORT,CHAR,BYTE}): Truncate constant to maximum range
permitted in order to avoid assembler error.

From-SVN: r3739
1993-03-15 13:53:41 -05:00
Jeff Law 5eb9c92c63 * pa.c (shadd_operand): Delete.
From-SVN: r3738
1993-03-15 11:36:57 -07:00
Jeff Law 81722625a7 pa.md (sh[123]add patterns): Use register_operand, not shadd_operand.
* pa.md (sh[123]add patterns): Use register_operand, not
	shadd_operand.
	(sh[123]add patterns for reload): Special patterns to avoid
	lossage due to reload problems.

From-SVN: r3737
1993-03-15 11:36:21 -07:00
Jeff Law 5fcd63d09c reorg.c (find_end_label): Update unfilled_slots if the return insn we make has a delay slot.
* reorg.c (find_end_label): Update unfilled_slots if the return
	insn we make has a delay slot.

From-SVN: r3736
1993-03-14 20:53:37 -07:00
Richard Kenner 7963ac373a (shift_cost): Now a vector.
(shiftadd_cost): New vector for cost of (N * a + b) instructions.
(shiftsub_cost): New vector for cost of (N * a - b) instructions.
(lea_cost): Removed.
(init_expmed): Initialize new vectors.  Use ASHIFT, not LSHIFT.
Remove code initializing lea_cost.
(enum alg_code): New definition.
(synth_mult): Rewrite for better algorithms and faster operation.
(expand_mult): Rewrite code for constant multiplication.

From-SVN: r3735
1993-03-14 21:26:55 -05:00
Richard Kenner f005288757 (build_objc_method_call, get_class_reference):
Call assemble_external on anything we are about to generate a call to.
(get_super_receiver): Likewise.
(handle_class_ref): Put constant in readonly-data section, not text.
(build_objc_symtab_template): Correctly build index type for 0-length array.

From-SVN: r3734
1993-03-14 17:21:33 -05:00
Richard Kenner 7463703395 (simplify_plus_minus): Reject "simplifications" that are too complex
in form.

From-SVN: r3733
1993-03-14 09:37:43 -05:00
Richard Kenner 5931019b79 (simplify_plus_minus): Correct sign error in expanding NOT.
From-SVN: r3732
1993-03-14 06:32:20 -05:00
Richard Stallman 8bb44f9ab5 (choose_reload_regs): Verify reload_out[j != 0
before comparing with relaod_earlyclobber elements.

From-SVN: r3731
1993-03-14 05:02:30 +00:00
Richard Stallman b1e64e0d7f (emit_call_1): Restore inhibit_defer_pop before popping args
so that pops really do get deferred if appropriate.

From-SVN: r3730
1993-03-14 02:08:37 +00:00
Richard Kenner 91a60f374f (simplify_plus_minus): When seeing if we have reduced the number of operands...
(simplify_plus_minus): When seeing if we have reduced the number of
operands, ensure we count a CONST result as two operands.

From-SVN: r3729
1993-03-13 20:45:44 -05:00