OSDN Git Service
rms [Sun, 4 Apr 1993 07:16:41 +0000 (07:16 +0000)]
[__svr4__]: Test only _VA_LIST_ to avoid dup typedef.
(This used to test __SVR4_2__.)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3998
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sun, 4 Apr 1993 07:15:20 +0000 (07:15 +0000)]
(LIB2FUNCS): Add _fixunsxfdi, _fixxfdi, _floatdixf, _fixunsxfsi.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3997
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sun, 4 Apr 1993 07:09:40 +0000 (07:09 +0000)]
(floating_exact_log2): Initialize r1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3996
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 4 Apr 1993 01:00:34 +0000 (01:00 +0000)]
* pa.c (hppa_legitimize_address): Use Pmode consistently.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3995
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 3 Apr 1993 22:39:33 +0000 (22:39 +0000)]
(emit_reload_insns): Don't update the status of a register from an
input reload if it also has an output reload.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3994
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 3 Apr 1993 22:37:45 +0000 (22:37 +0000)]
(store_expr): Call size_binop instead of doing the same thing with
fold and build.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3993
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 3 Apr 1993 22:34:45 +0000 (22:34 +0000)]
(simplify_comparison, case PLUS): Generalize simplification
of (eq (plus A B) C).
(simplify_comparison, case MINUS): Add corresponding cases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3992
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Fri, 2 Apr 1993 23:43:16 +0000 (23:43 +0000)]
(reload_reg_used_for_inherit): New variable.
(clear_reload_reg_in_use): New function.
(allocate_reload_reg): Don't consider an inherited register as one that we
should share in the first pass.
Don't mark a register in use until we are sure it will fit.
(choose_reload_regs): Mark spill regs used for inheriting.
When we decide we can no longer use a register, show it isn't being used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3991
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Fri, 2 Apr 1993 12:48:55 +0000 (12:48 +0000)]
(optabs): Fix typo in name for "fix" pattern.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3990
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 2 Apr 1993 00:38:33 +0000 (00:38 +0000)]
* reorg.c (redundant_insn_p): Stop searching for a redundant
insn if an INSN or JUMP_INSN with delayed effects is
encountered.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3989
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Thu, 1 Apr 1993 16:58:13 +0000 (16:58 +0000)]
Make sure long double doesn't become 80 bits until we are ready for it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3988
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Thu, 1 Apr 1993 16:58:13 +0000 (16:58 +0000)]
Eliminate statement not reached warning messages that the MIPS compiler generates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3987
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Thu, 1 Apr 1993 16:58:13 +0000 (16:58 +0000)]
Eliminate extern needed warning messages that the MIPS compiler generates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3986
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Thu, 1 Apr 1993 12:27:57 +0000 (12:27 +0000)]
(emit_push_insn, expand_assignment): Fix typo in last change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3985
138bc75d-0d04-0410-961f-
82ee72b054a4
bothner [Thu, 1 Apr 1993 07:32:39 +0000 (07:32 +0000)]
emit-rtl.c (init_emit): Clear sequence_stack.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3984
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Thu, 1 Apr 1993 01:07:04 +0000 (01:07 +0000)]
Fix wrong sign
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3983
138bc75d-0d04-0410-961f-
82ee72b054a4
brendan [Wed, 31 Mar 1993 23:21:50 +0000 (23:21 +0000)]
define CONSTANT_ADDRESS_P(X) to not use CONST_DOUBLE
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3982
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 22:18:57 +0000 (22:18 +0000)]
(compile_file): Call incomplete_decl_finalize_hook only if nonzero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3981
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 22:16:39 +0000 (22:16 +0000)]
(compile_file): Only call `*incomplete_decl_finalize_hook'
if the `decl' in question is a VAR_DECL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3980
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:43:46 +0000 (21:43 +0000)]
(ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Use REAL_VALUE... macros.
(PRINT_OPERAND): Likewise.
(ASM_OUTPUT_LONG_DOUBLE): New definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3979
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:39:17 +0000 (21:39 +0000)]
(FUNCTION_VALUE): Use FUNCTION_VALUEX.
(FUNCTION_VALUEX): New macro.
(ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE)
(ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND):
Use REAL_VALUE... macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3978
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:36:25 +0000 (21:36 +0000)]
(ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE)
(ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND):
Use REAL_VALUE... macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3977
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:35:37 +0000 (21:35 +0000)]
(ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE)
(ASM_OUTPUT_DOUBLE_OPERAND): Use REAL_VALUE... macros.
(ASM_OUTPUT_LONG_DOUBLE): New definition.
(ASM_OUTPUT_FLOAT_OPERAND): New macro.
(PRINT_OPERAND_PRINT_FLOAT): Deleted.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3976
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:31:49 +0000 (21:31 +0000)]
(LIBCALL_VALUE): Handle XFmode.
(PRINT_OPERAND, ASM_OUTPUT_DOUBLE): Use REAL_VALUE... macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3975
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:29:19 +0000 (21:29 +0000)]
(LIBCALL_VALUE): Handle XFmode.
(ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Use REAL_VALUE... macros.
(PRINT_OPERAND): Likewise.
(ASM_OUTPUT_LONG_DOUBLE): New definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3974
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:23:40 +0000 (21:23 +0000)]
(movxf, tstxf, extendsfxf2, extenddfxf2): New patterns.
(truncxfdf2, truncxfsf2, floatsixf2, floathixf2, floatqixf2): Likewise.
(ftruncxf2, fixxfqi2, fixxfhi2, fixxfsi2): Likewise.
(addxf3, subxf3, mulxf3, divxf3, negxf2, absxf2, sqrtxf2): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3973
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:18:22 +0000 (21:18 +0000)]
(LONG_DOUBLE_TYPE_SIZE): Set to 96, for XFmode support.
(ASM_OUTPUT_LONG_DOUBLE_OPERAND) New macro.
(ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Use REAL_VALUE_... macros.
(ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
(ASM_OUTPUT_FLOAT_OPERAND): Likewise. Also, new argument CODE.
(ASM_OUTPUT_FLOAT): Delete special def for CROSS_COMPILE.
(ASM_OUTPUT_LONG_DOUBLE): New macro.
(PRINT_OPERAND_EXTRACT_FLOAT): Definitions deleted.
(PRINT_OPERAND_PRINT_FLOAT): Definitions deleted.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3972
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:12:24 +0000 (21:12 +0000)]
(standard_68881_constant_p): Initialize REAL_VALUE_TYPE
binary constants from decimal values. Use REAL_VALUE_... macros.
(standard_sun_fpa_constant_p): Likewise.
(print_operand, floating_exact_log2): Use REAL_VALUE_... macros.
(init_68881_table): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3971
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Wed, 31 Mar 1993 21:06:33 +0000 (21:06 +0000)]
(expand_expr, case ADDR_EXPR): Allow taking the address of any object;
used in call-by-reference situations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3970
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:04:47 +0000 (21:04 +0000)]
(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, PRINT_OPERAND_FLOAT)
(PRINT_OPERAND): Use new REAL_VALUE... macros.
(ASM_OUTPUT_LONG_DOUBLE): New macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3969
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Wed, 31 Mar 1993 21:03:25 +0000 (21:03 +0000)]
(next_type_uid): Move definition to reasonable place. (copy_node):
Make new DECL_UID and TYPE_UID as comments say.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3968
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 21:01:23 +0000 (21:01 +0000)]
(ASM_OUTPUT_DOUBLE, PRINT_OPERAND):
Use new REAL_VALUE... macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3967
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Wed, 31 Mar 1993 21:01:17 +0000 (21:01 +0000)]
(emit_block_move, emit_push_insn, expand_assignment): Size passed to
memcpy/bcopy is SIZETYPE, not Pmode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3966
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 20:59:35 +0000 (20:59 +0000)]
(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):
Use new REAL_VALUE... macros.
(ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3965
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 20:57:52 +0000 (20:57 +0000)]
(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT):
Use new REAL_VALUE... macros.
(ASM_OUTPUT_LONG_DOUBLE): New definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3964
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Wed, 31 Mar 1993 20:57:24 +0000 (20:57 +0000)]
(simplify_binary_operation, case MULT): When testing for
floating-point equality, make sure we do so inside a region protected
from traps.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3963
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Wed, 31 Mar 1993 20:56:14 +0000 (20:56 +0000)]
(standard_80387_constant_p): When testing for floating-point equality,
make sure we do so inside a region protected from traps.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3962
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Wed, 31 Mar 1993 20:52:33 +0000 (20:52 +0000)]
(INITIAL_ELIMINATION_OFFSET): Subtract
current_function_pretend_args_size from OFFSET for AP.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3961
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 20:43:57 +0000 (20:43 +0000)]
(ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
Use new REAL_VALUE... macros.
(REAL_ARITHMETIC): Defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3960
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 20:41:33 +0000 (20:41 +0000)]
(check_float_value): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3959
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 20:40:45 +0000 (20:40 +0000)]
(ASM_OUTPUT_DOUBLE): Use new REAL_VALUE... macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3958
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 20:39:19 +0000 (20:39 +0000)]
(PRINT_OPERAND, ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE):
Use new REAL_VALUE... macros.
(CHECK_FLOAT_VALUE): Call check_float_value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3957
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 31 Mar 1993 20:27:10 +0000 (20:27 +0000)]
Fix typo in last change
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3956
138bc75d-0d04-0410-961f-
82ee72b054a4
brendan [Wed, 31 Mar 1993 20:16:08 +0000 (20:16 +0000)]
define CONSTANT_ADDRESS_P(X) to not use CONST_DOUBLE
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3955
138bc75d-0d04-0410-961f-
82ee72b054a4
brendan [Wed, 31 Mar 1993 20:09:44 +0000 (20:09 +0000)]
define CONSTANT_ADDRESS_P(X) to not use CONST_DOUBLE
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3954
138bc75d-0d04-0410-961f-
82ee72b054a4
jrv [Wed, 31 Mar 1993 17:30:15 +0000 (17:30 +0000)]
(emit_swap_insn): Don't link cc0 insns: emit swap after cc0 user.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3953
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Wed, 31 Mar 1993 12:02:28 +0000 (12:02 +0000)]
(LINK_SPEC): New definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3952
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Wed, 31 Mar 1993 12:00:31 +0000 (12:00 +0000)]
(insert_regs): If a REG already is in a class but not in the mode we
want, don't do anything to the classes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3951
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 31 Mar 1993 08:48:35 +0000 (08:48 +0000)]
* pa.h (toplevel): Declare output_bb.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3950
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 31 Mar 1993 08:48:22 +0000 (08:48 +0000)]
* pa.c (output_cbranch): New function. Given the operands of the
branch, possible nullification, length of the branch, possible branch
negation, and the branch insn itself, return the output template for
the desired conditional branch.
(output_bb): Likewise, but for branch on bit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3949
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 08:31:13 +0000 (08:31 +0000)]
(optimize_reg_copy_1): Don't increment n_calls specially if P is a call_insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3948
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 07:02:59 +0000 (07:02 +0000)]
(convert_to_real): Pass mode arg to REAL_VALUE_ATOF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3947
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 06:42:45 +0000 (06:42 +0000)]
entered into RCS
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3946
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:54:38 +0000 (05:54 +0000)]
(rtx_to_tree_code): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3945
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:54:18 +0000 (05:54 +0000)]
(rtx_to_tree_code): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3944
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:53:29 +0000 (05:53 +0000)]
(simplify_binary_operation): real_value_truncate
returns REAL_VALUE_TYPE.
Convert rtx_code into tree_code for argument to REAL_ARITHMETIC.
(simplify_unary_operation): Use new ..._RNDZINT macros
instead of casting value of REAL_VALUE_FIX_TRUNCATE
and REAL_VALUE_UNSIGNED_FIX_TRUNCATE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3943
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:51:30 +0000 (05:51 +0000)]
(expand_fix): Initialized REAL_VALUE_TYPE confuses some compilers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3942
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:50:52 +0000 (05:50 +0000)]
(assemble_real): Case TFmode and XFmode invoke ASM_OUTPUT_LONG_DOUBLE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3941
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:50:32 +0000 (05:50 +0000)]
Include real.h to get the definition of REAL_VALUE_TYPE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3940
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:50:11 +0000 (05:50 +0000)]
(real_value_truncate): If REAL_ARITHMETIC, replace
by routine of same name in real.c.
target_isinf, target_isnan, target_negative): Likewise.
(const_binop): Delete `register' from decls using REAL_VALUE_TYPE.
(fold_convert): Use REAL_VALUE_TO_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3939
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:48:38 +0000 (05:48 +0000)]
(operand_subword): Use REAL_VALUE_TO_TARGET_SINGLE to convert to target float.
If REAL_ARITHMETIC is defined, let real.c handle incompatible host
and target floating point bit patterns.
(init_emit_once): Add machine_mode argument to REAL_VALUE_ATOF.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3938
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:46:40 +0000 (05:46 +0000)]
(split_double) : Use REAL_VALUE macros to extract ints
from float mode CONST_DOUBLEs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3937
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:44:03 +0000 (05:44 +0000)]
(yylex): Convert real decimal constants directly
to the precision specified by the letter at the end of the number.
Pass mode arg to REAL_VALUE_ATOF to specify precision.
Move the "out of range of double" error check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3936
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:41:37 +0000 (05:41 +0000)]
(real.o): New target.
(OBJS): Add real.o.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3935
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:39:37 +0000 (05:39 +0000)]
If REAL_ARITHMETIC is defined or if LONG_DOUBLE_TYPE_SIZE
is 96, then define REAL_VALUE_ macros to invoke functions in real.c.
(REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT):
New macros truncate toward zero to integer value but
return REAL_VALUE_TYPE.
(REAL_VALUE_TO_DECIMAL): New macro defaults to
fprintf if no REAL_ARITHMETIC, otherwise uses real.c for
binary to decimal conversion. Used in ASM_OUTPUT_ macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3934
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Wed, 31 Mar 1993 05:30:24 +0000 (05:30 +0000)]
Initial revision
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3933
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 30 Mar 1993 22:02:05 +0000 (22:02 +0000)]
* Jeff for Tege.
* pa.md (sminsi3, smaxsi3): Fix bug in last change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3932
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 30 Mar 1993 21:50:50 +0000 (21:50 +0000)]
fkx
fix CLASS_MAX_NREGS to reflect -mfloat64 and -msoft-float.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3931
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 30 Mar 1993 20:37:29 +0000 (20:37 +0000)]
(record_dead_and_set_regs): Record death of all hard regs when a multi-reg
object in hard regs dies.
(move_deaths): Handle the case when we only have to move part of a
multi-register death note.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3930
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 30 Mar 1993 20:36:43 +0000 (20:36 +0000)]
(find_regno_note): Find note that overlaps REGNO, not just one that
mentions REGNO explicitly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3929
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 30 Mar 1993 20:34:11 +0000 (20:34 +0000)]
(form_sum): Use mode of inputs when making new PLUS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3928
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 30 Mar 1993 20:31:01 +0000 (20:31 +0000)]
(OBJS): Add insn-opinit.o.
(insn-opinit.o, insn-opinit.c, stamp-opinit): New rules.
(genopinit, genopinit.o): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3927
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 30 Mar 1993 20:30:29 +0000 (20:30 +0000)]
(init_reload): Don't initialize optabs here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3926
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 30 Mar 1993 20:29:35 +0000 (20:29 +0000)]
(extendtab, fixtab, fixtrunctab, floattab): Not static.
(init_extends, init_fixtab, init_floattab): Deleted.
(init_optabs): Move active stuff from above functions in.
Delete filling of optabs.
Call init_all_optabs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3925
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 30 Mar 1993 20:28:53 +0000 (20:28 +0000)]
(extendtab, fixtab, fixtrunctab, floattab, movstr_optab): New
definitions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3924
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 30 Mar 1993 20:28:12 +0000 (20:28 +0000)]
(movstr_optab): No longer static.
(init_expr_once): Don't initialize movstr_optab.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3923
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 30 Mar 1993 20:25:14 +0000 (20:25 +0000)]
Initial revision
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3922
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Tue, 30 Mar 1993 10:40:07 +0000 (10:40 +0000)]
(emit_reload_insns): Properly track what was reloaded into what
register when what we reloaded was a hard register group.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3921
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 29 Mar 1993 23:34:54 +0000 (23:34 +0000)]
(num_sign_bit_copies, case PLUS, case MULT): Replace occurrences of
HOST_BITS_PER_INT with HOST_BITS_PER_WIDE_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3920
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 29 Mar 1993 22:39:25 +0000 (22:39 +0000)]
(movsi+2): Add f/f constraint case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3919
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 29 Mar 1993 22:34:25 +0000 (22:34 +0000)]
(schedule_block): Reset n_ready if schedule_select
removes all insns from ready list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3918
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 29 Mar 1993 22:32:52 +0000 (22:32 +0000)]
(FUNCTION_PROFILER): Call output_function_profiler.
(CALL_USED_REGISTERS): Add more comments about register usage.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3917
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Mon, 29 Mar 1993 22:32:08 +0000 (22:32 +0000)]
(i960_function_prologue): When profiling, don't use those
registers clobbered around an mcount call.
(output_function_profiler): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3916
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 29 Mar 1993 21:39:58 +0000 (21:39 +0000)]
(secondary_memlocs_elim): Now one per mode per operand.
(get_secondary_mem, combine_reloads): Reflect changed var above.
(clear_secondary_mem): Use bzero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3915
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 29 Mar 1993 21:16:35 +0000 (21:16 +0000)]
Add prototypes for all functions defined in file.
Change a few occurrences of RTX_CODE to enum rtx_code for consistency.
(merge_trees): Add casts of args to mybcopy.
(write_tree_1): Now static.
(fatal): Always called with one arg, so define that way.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3914
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Mon, 29 Mar 1993 18:57:45 +0000 (18:57 +0000)]
(collect_iterators): Cast tree code to int for indexing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3913
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 29 Mar 1993 11:28:45 +0000 (11:28 +0000)]
Add missing declarations for external functions in reload.c, reload1.c,
and caller-save.c.
(reload_strict_low, reload_needed_for_multiple, reload_needed_for): Deleted.
(reload_opnum): New array.
(enum reload_type): Renamed from reload_when_needed and expanded to include
more reload types.
(reload_n_operands): New variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3912
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 29 Mar 1993 11:27:52 +0000 (11:27 +0000)]
Add prototypes for all static functions and clean up some definitions.
(struct decompose): Move to before function declarations.
(secondary_memlocs_elim): One per operand, not per mode.
(get_secondary_mem): Accept and use reload description (opnum and type).
(push_reload): Accept and use new reload description instead of old NEEDED_FOR.
Define two new macros: MERGEABLE_RELOADS and MERGE_TO_OTHER.
Use these macros to see if reloads can be merged and how to do it.
(transfer_replacements): New function.
(combine_reloads): Refine when we can combine reloads.
(find_reloads): Use new method of tracking what a reload is for.
When we make a CLOBBER insn, do so with DImode.
Merge cases of making optional reloads, avoid making output-only optional
reloads, refine when we may not make in-out optional reloads, and make an
optional reload for a pair of matching operands.
(find_reloads_toplev, find_reloads_address{,_1, part}): Accept and use reload
description.
(forget_volatility): Delete long-obsolete function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3911
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 29 Mar 1993 11:24:36 +0000 (11:24 +0000)]
Add prototypes for static functions.
(REGISTER_MOVE_COST, MEMORY_MOVE_COST): Include default definitions.
(reload): Count number of registers needed for insn using new reload type
information.
If mode of insn is DImode, don't change it.
Refine the way we handle conflict with the return value register.
Don't try to account for needs already covered by previously spilled
registers; instead, put them back in the front of potential_reload_regs and
let them be allocated again.
(order_regs_for_reload): Don't restrict regs explicitly used if we have
SMALL_REGISTER_CLASSES defined.
(reload_as_needed): Don't need to deactivate optional reloads ever; if they
inherit, it must have been safe.
Call merge_assigned_reloads if SMALL_REGISTER_CLASSES.
(reload_reg_used_*): Refine our tracking of reload reg usage by defining more
of these HARD_REG_SETs.
(mark_reload_reg_in_use, reload_reg_free_p): Rework to use new method of
describing where a reload register is used.
(reload_reg_free_before_p, reload_reg_reaches_end_p): Likewise.
(allocate_reload_reg): Pass new reload descriptions.
(choose_reload_regs): Likewise.
Save and restore the new HARD_REG_SETs.
Remove now-redundant code to prevent conflicts.
(merge_assigned_reloads): New function.
(emit_reload_insns): Output each reload type into its own sequence, then
output the sequences in the proper order.
Put our output reloads after a CLOBBER made by find_reloads.
Pass ALL_REGS to find_equiv_regs; nothing special about GENERAL_REGS.
Don't use an old equivalence if doing so would be more expensive.
Clean up tracking of values still in reload regs using reload description
info to see if the reload reaches the end of the insn.
(gen_input_reload): Pass reload description and emit insns to end of current
sequence.
(inc_for_reload): Return void; no longer need INSN as operand.
Emit insns to end of current sequence.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3910
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Mon, 29 Mar 1993 08:23:24 +0000 (08:23 +0000)]
(expand_expr, case MAX_EXPR/MIN_EXPR): If mode is multiword int,
use do_jump_by_parts_greater_rtx to compare efficiently.
(do_jump_by_parts_greater_rtx): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3909
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Mon, 29 Mar 1993 04:49:21 +0000 (04:49 +0000)]
(store_parm_decls): Use pedwarn for "promoted arg doesn't
match prototype" warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3908
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 29 Mar 1993 01:26:03 +0000 (01:26 +0000)]
(expand_call): Always allocate TARGET in mode of result expression;
VALREG might have been promoted.
Ensure TARGET is a REG when checking for promotion and verify that we
get back the mode we expect.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3907
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 28 Mar 1993 23:56:26 +0000 (23:56 +0000)]
* pa.md (smin, umin, smax, umax): New patterns.
* pa.md (cbranch define_delay): Enable nullification of
conditional branch delay slots (based upon branch direction).
(conditional branch patterns): Call output_cbranch to get the
correct output template. Long conditional branches with an
annulled delay slot have a length of 3.
(branch on bit patterns): Call output_bb to get the correct
output template. Long branches with an annulled delay slot have
a length of 3.
(decrement and branch pattern): Handle nullification of long
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3906
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sun, 28 Mar 1993 23:55:45 +0000 (23:55 +0000)]
(expand_expr): For COMPONENT_REF, don't force_reg op0 if it is BLKmode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3905
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 28 Mar 1993 21:25:08 +0000 (21:25 +0000)]
* reorg.c (ANNUL_IFTRUE_SLOTS, ANNUL_IFFALSE_SLOTS): Add new
flags variable to these dummy macros.
(get_jump_flags): New function.
(optimize_skip): Get jump flags information from the delay insn.
(steal_delay_list_from_target): Get jump flags information from the
delay insn and the label of the trial jump.
(steal_delay_list_from_fallthrough): Get jump flags information
from the delay insn.
(try_merge_delay_insns): Likewise.
(fill_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
(make_return_insn): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3904
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 28 Mar 1993 21:23:09 +0000 (21:23 +0000)]
* genattrtab.c (write_eligible_delay): Add new variable
"flags" to the generated functions. All callers changed.
(check_attr_test): Handle ATTR_FLAG.
(clear_struct_flag): Likewise.
(count_sub_rtxs): Likewise.
(write_test_expr): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3903
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 28 Mar 1993 21:22:43 +0000 (21:22 +0000)]
* rtl.def (ATTR_FLAG): New RTL code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3902
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 28 Mar 1993 21:22:00 +0000 (21:22 +0000)]
* genattr.c (main): Output ATTR_FLAG masks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3901
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sun, 28 Mar 1993 07:46:33 +0000 (07:46 +0000)]
Move comments about big sed command outside the command itself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3900
138bc75d-0d04-0410-961f-
82ee72b054a4
rms [Sun, 28 Mar 1993 05:48:46 +0000 (05:48 +0000)]
(process_init_constructor, digest_init):
Check and set new static var partial_bracket_mentioned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3899
138bc75d-0d04-0410-961f-
82ee72b054a4