Richard Kenner [Mon, 11 Sep 1995 23:20:44 +0000 (19:20 -0400)]
(output_option{,s}): New functions to write -f, -m, and -W options to the asm file.
(output_option{,s}): New functions to write -f, -m, and -W options to the
asm file.
(rs6000_float_const): New function to generate floating point constants
portably used in signed,unsigned -> double conversions.
(rs6000_stack_info,debug_stack_info): Use ABI enumeration instead
of AIX vs. V.4 boolean.
From-SVN: r10317
Richard Kenner [Mon, 11 Sep 1995 23:20:14 +0000 (19:20 -0400)]
(rs6000_abi): New enumeration to describe which ABI we're conforming to.
(rs6000_stack): Use abi enum, not AIX vs. V.4 boolean.
(ASM_OUTPUT_OPTIONS): New macro to print output options in .s file.
(ASM_FILE_START): Use it.
(output_options,rs6000_float_const): Declare new functions.
From-SVN: r10316
Richard Kenner [Mon, 11 Sep 1995 23:05:26 +0000 (19:05 -0400)]
(digest_init): Don't recursively call digest_init when in traditional
mode if the type is invalid.
From-SVN: r10315
Richard Kenner [Mon, 11 Sep 1995 22:58:21 +0000 (18:58 -0400)]
Added DLB/DSTB peepholes for HFmode.
Corrected mnemonics for HImode DSTB peephole.
From-SVN: r10314
Richard Kenner [Mon, 11 Sep 1995 22:53:34 +0000 (18:53 -0400)]
(FLO_union_type): Remove bitfields to set sign...
(FLO_union_type): Remove bitfields to set sign, exponent, and
mantissa, and add value_raw field, which is an integer of the
appropriate type. If _DEBUG_BITFLOAT is defined, provide little and
big endian bitfields. If the macro FLOAT_BIT_ORDER_MISMATCH is
defined, use explicit bitfields.
(pack_d, unpack_d): Switch to use value_raw and explicit shifts and
masks so that we don't have to worry about whether the target is big
or little endian unless FLOAT_BIT_ORDER_MISMATCH is defined. If
single precision floating point, rename to pack_f and unpack_f, so
there is no confusion in the debugger.
From-SVN: r10313
Richard Kenner [Mon, 11 Sep 1995 22:48:01 +0000 (18:48 -0400)]
(FLO_union_type): Remove bitfields to set sign...
(FLO_union_type): Remove bitfields to set sign, exponent, and
mantissa, and add value_raw field, which is an integer of the
appropriate type. If _DEBUG_BITFLOAT is defined, provide little and
big endian bitfields.
(pack_d, unpack_d): Switch to use value_raw and explicit shifts and
masks so that we don't have to worry about whether the target is big
or little endian. If single precision floating point, rename to
pack_f and unpack_f, so there is no confusion in the debugger.
From-SVN: r10312
Richard Kenner [Mon, 11 Sep 1995 22:41:44 +0000 (18:41 -0400)]
(redeclaration_error_message): For TYPE_DECLs, return 0 if
TYPE_MAIN_VARIANT of old type is same as new type.
From-SVN: r10311
Jason Merrill [Mon, 11 Sep 1995 22:33:03 +0000 (18:33 -0400)]
jason@cygnus.com
From-SVN: r10310
Jason Merrill [Mon, 11 Sep 1995 22:31:59 +0000 (18:31 -0400)]
(tsubst): Handle PROMOTE_PROTOTYPES.
From-SVN: r10309
Richard Kenner [Mon, 11 Sep 1995 21:39:30 +0000 (17:39 -0400)]
(xcoff_inlining): New variable...
(xcoff_inlining): New variable, used in place of
xcoff_current_include_file when determining whether to use absolute
line numbers.
(xcoffout_source_file): Switched to using xcoff_inlining to determine
when to emit .bi/.ei directives.
From-SVN: r10308
Richard Kenner [Mon, 11 Sep 1995 20:54:24 +0000 (16:54 -0400)]
(cmpdi): Change patterns to allocate scratch register at RTL generation time.
(tstdi): Likewise.
From-SVN: r10307
Richard Kenner [Sun, 3 Sep 1995 13:03:38 +0000 (09:03 -0400)]
(size_binop): Don't pass 1 to NOTRUNC.
From-SVN: r10306
Richard Kenner [Thu, 31 Aug 1995 23:26:53 +0000 (19:26 -0400)]
Include longlong.h.
[L_udivdi3 || L_divdi3 || L_umoddi3 || L_moddi3] (__udivmoddi4):
Define this `static inline' when defining these, so they all remain
leaf functions.
From-SVN: r10305
Richard Kenner [Thu, 31 Aug 1995 23:04:04 +0000 (19:04 -0400)]
(struct rtx_const): Add new field DI to union.
(decode_rtx_const, case CONST_DOUBLE): Use to hash CONST_DOUBLE
representing an integer.
From-SVN: r10304
Richard Kenner [Thu, 31 Aug 1995 23:03:23 +0000 (19:03 -0400)]
(canon_hash, CONST_DOUBLE): Hash integer and real differently.
From-SVN: r10303
Richard Kenner [Thu, 31 Aug 1995 22:38:14 +0000 (18:38 -0400)]
(ends_in_label): New %union member.
(stmts, stmt_or_label): Use new member to avoid lexical lookahead hack.
(lineno_stmt_or_labels): New rule.
(lineno_stmt_or_label, stmt_or_label): Yield nonzero if it ends in a label.
From-SVN: r10302
Richard Kenner [Thu, 31 Aug 1995 22:18:47 +0000 (18:18 -0400)]
Fix patch botch.
From-SVN: r10301
Richard Kenner [Thu, 31 Aug 1995 22:17:13 +0000 (18:17 -0400)]
(alpha_builtin_saveregs): Properly compute address of __offset both
both OSF and WINNT.
From-SVN: r10300
Richard Kenner [Thu, 31 Aug 1995 22:16:58 +0000 (18:16 -0400)]
(__gnuc_va_list): Make __offset an int.
From-SVN: r10299
Richard Kenner [Thu, 31 Aug 1995 21:54:28 +0000 (17:54 -0400)]
(malloc, calloc, realloc): Don't define for anybody.
From-SVN: r10298
Richard Kenner [Thu, 31 Aug 1995 21:54:05 +0000 (17:54 -0400)]
(sbrk): Define here for __alpha.
From-SVN: r10297
Richard Kenner [Thu, 31 Aug 1995 21:53:13 +0000 (17:53 -0400)]
(sbrk): Don't define here.
From-SVN: r10296
Richard Kenner [Thu, 31 Aug 1995 12:31:20 +0000 (08:31 -0400)]
(emit_reload_insn): Emit RELOAD_OTHER output reloads last.
From-SVN: r10295
Richard Kenner [Thu, 31 Aug 1995 12:30:38 +0000 (08:30 -0400)]
(push_reload): Add case for output reload of a SUBREG of a hard reg when output mode is invalid for that mode.
(push_reload): Add case for output reload of a SUBREG
of a hard reg when output mode is invalid for that mode.
In both that case and existing case for in, don't remove SUBREG.
From-SVN: r10294
Richard Kenner [Tue, 29 Aug 1995 23:15:47 +0000 (19:15 -0400)]
(finish_struct): If transparent_union attribute specified, validate it
once we finish laying the union out.
From-SVN: r10293
Richard Kenner [Tue, 29 Aug 1995 23:15:19 +0000 (19:15 -0400)]
(decl_attribute, case A_PACKED): Check is_type first.
(decl_attribute, case A_T_UNION): Likewise.
Don't access TYPE_FIELDS if DECL is zero.
From-SVN: r10292
Richard Kenner [Mon, 28 Aug 1995 10:58:38 +0000 (06:58 -0400)]
(arm_gen_movstrqi): Remove unused variable const_sxteen.
From-SVN: r10291
Richard Kenner [Mon, 28 Aug 1995 10:56:14 +0000 (06:56 -0400)]
(buffer, inpoint): Remove unused variables.
From-SVN: r10290
Richard Kenner [Mon, 28 Aug 1995 10:54:22 +0000 (06:54 -0400)]
Fix spelling errors.
From-SVN: r10289
Paul Eggert [Mon, 28 Aug 1995 10:15:06 +0000 (10:15 +0000)]
entered into RCS
From-SVN: r10288
Richard Kenner [Mon, 28 Aug 1995 10:15:04 +0000 (06:15 -0400)]
entered into RCS
From-SVN: r10287
Richard Kenner [Mon, 28 Aug 1995 10:00:33 +0000 (06:00 -0400)]
(mvs_label_emitted): Renamed from mvs_label_emited.
From-SVN: r10286
Richard Kenner [Mon, 28 Aug 1995 09:57:59 +0000 (05:57 -0400)]
Fix misspelling of `maintainer-clean'.
From-SVN: r10285
Richard Kenner [Sat, 26 Aug 1995 10:56:53 +0000 (06:56 -0400)]
(emit_reload_insns): Do nothing for SUBREG whose operand is unused subsequently.
(emit_reload_insns): Do nothing for SUBREG whose operand is unused
subsequently.
In secondary reload case, if paradoxical SUBREG for output, reload thing
inside SUBREG, just like gen_reload.
From-SVN: r10284
Richard Kenner [Sat, 26 Aug 1995 10:56:12 +0000 (06:56 -0400)]
(push_secondary_reload): If X is a paradoxical SUBREG, get mode and
thing to reload from inside.
From-SVN: r10283
Richard Kenner [Fri, 25 Aug 1995 23:26:36 +0000 (19:26 -0400)]
(set_init_label): Don't die if an entire brace-pair level is
superfluous in the containing level.
From-SVN: r10282
Richard Kenner [Fri, 25 Aug 1995 23:22:03 +0000 (19:22 -0400)]
({add,sub,mulsi}di3): Support both endian possibilities.
(negdi2): Likewise.
From-SVN: r10281
Richard Kenner [Fri, 25 Aug 1995 23:21:42 +0000 (19:21 -0400)]
(STRICT_ALIGNMENT): If little endian, always set strict alignment to 1.
From-SVN: r10280
Richard Kenner [Fri, 25 Aug 1995 23:20:52 +0000 (19:20 -0400)]
Initial revision
From-SVN: r10279
Richard Kenner [Fri, 25 Aug 1995 23:10:36 +0000 (19:10 -0400)]
Added peephole definitions for Load/Store Base insns and eliminating redundant...
Added peephole definitions for Load/Store Base insns and eliminating
redundant load in an equivalent store/load sequence.
From-SVN: r10278
Per Bothner [Fri, 25 Aug 1995 23:08:07 +0000 (19:08 -0400)]
bothner@cygnus.com
From-SVN: r10277
Per Bothner [Fri, 25 Aug 1995 23:07:05 +0000 (19:07 -0400)]
(FOR): Call note_level_for_for.
From-SVN: r10276
Per Bothner [Fri, 25 Aug 1995 23:06:45 +0000 (19:06 -0400)]
(do_identifier): Handle old (non-ANSI) for scoping, and warn if
conflicts.
From-SVN: r10275
Per Bothner [Fri, 25 Aug 1995 23:06:24 +0000 (19:06 -0400)]
(DECL_DEAD_FOR_LOCAL, DECL_ERROR_REPORTED, DECL_SHADOWED_FOR_VAR): New
macros.
From-SVN: r10274
Per Bothner [Fri, 25 Aug 1995 23:05:26 +0000 (19:05 -0400)]
(struct binding_level): New fields dead_vars_from_for and is_for_scope.
(note_level_for_for): New function.
(poplevel): Special processing if is_for_scope.
(pushdecl): Warn if for-scope variable shadows local.
From-SVN: r10273
Per Bothner [Fri, 25 Aug 1995 23:04:48 +0000 (19:04 -0400)]
(flag_new_for_scope): Add a new mode that follows ANSI for-scoping, but supports (and warns about) old programs.
(flag_new_for_scope): Add a new mode that follows ANSI
for-scoping, but supports (and warns about) old programs.
Make the new mode (with value 1) the default.
(lang_f_options): The on-value for flag_new_for_scope is now 2.
From-SVN: r10272
Richard Kenner [Fri, 25 Aug 1995 22:33:19 +0000 (18:33 -0400)]
(report_error_function): Don't attempt to use input file stack to identify...
(report_error_function): Don't attempt to use input file stack to
identify nesting of #include's if file name oflocation diagnosed is
not same as input_filename.
From-SVN: r10271
Richard Kenner [Fri, 25 Aug 1995 11:31:37 +0000 (07:31 -0400)]
(output_inline_function): Switch to function obstack.
From-SVN: r10270
Richard Kenner [Mon, 21 Aug 1995 17:29:41 +0000 (13:29 -0400)]
(decrement_and_branch_until_zero): Use arithmetic_comparison_operator to decide...
(decrement_and_branch_until_zero): Use arithmetic_comparison_operator
to decide if there is comparison suitable to be expressed by condition
code from an arithmetic op.
From-SVN: r10269
Richard Kenner [Mon, 21 Aug 1995 17:29:16 +0000 (13:29 -0400)]
(arithmetic_comparison_operator): New function.
(print_operand): Take into account that overflow flag is not set the
same as after a compare instruction.
From-SVN: r10268
Richard Kenner [Mon, 21 Aug 1995 17:25:59 +0000 (13:25 -0400)]
(adddi3, subdi3): "&" added to clobber's constraints.
From-SVN: r10267
Richard Kenner [Mon, 21 Aug 1995 17:21:36 +0000 (13:21 -0400)]
(MULTILIB_*, LIBGCC, INSTALL_LIBGCC): Define.
From-SVN: r10266
Richard Kenner [Mon, 21 Aug 1995 17:20:04 +0000 (13:20 -0400)]
(movdi-1...
(movdi-1, movdf-1): Make conditional on reload_completed, delete
conditions checking for pseudo registers and Q addresses. Add code to
handle SUBREG.
From-SVN: r10265
Richard Kenner [Mon, 21 Aug 1995 17:15:57 +0000 (13:15 -0400)]
(wipe_dead_reg): Make a register mentioned in a REG_INC note die after
the instruction.
From-SVN: r10264
Richard Kenner [Mon, 21 Aug 1995 17:11:53 +0000 (13:11 -0400)]
For all dbra pattern, change constraint from 'g' to 'd*g'.
From-SVN: r10263
Richard Kenner [Mon, 21 Aug 1995 17:07:54 +0000 (13:07 -0400)]
(underscore.c): Rename rule to stamp-under, and touch stamp-under at the end.
(underscore.c): Rename rule to stamp-under, and touch stamp-under at
the end. Add new rule for underscore.c that depends on stamp-under.
From-SVN: r10262
Richard Kenner [Mon, 21 Aug 1995 17:04:26 +0000 (13:04 -0400)]
(reg_unused_after): For a SEQUENCE, make sure all insns are safe
before returning 1.
From-SVN: r10261
Richard Kenner [Mon, 21 Aug 1995 16:18:56 +0000 (12:18 -0400)]
(PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN): Define.
From-SVN: r10260
Richard Kenner [Mon, 21 Aug 1995 16:11:05 +0000 (12:11 -0400)]
(output_stack_adjust): Add new argument reg.
(output_stack_adjust): Add new argument reg. Use it instead of
stack_pointer_rtx.
(sh_expand_prologue, sh_expand_epilogue): Pass new argument to
output_stack_adjust.
From-SVN: r10259
Richard Kenner [Sat, 19 Aug 1995 21:37:51 +0000 (17:37 -0400)]
(STARTFILE_SPEC, ENDFILE_SPEC): Delete superfluous -pg tests.
(LINK_SPEC): Add libp directories to -Y when -pg.
From-SVN: r10258
Richard Kenner [Sat, 19 Aug 1995 21:37:27 +0000 (17:37 -0400)]
(_mcount): Define.
From-SVN: r10257
Richard Kenner [Sat, 19 Aug 1995 21:34:03 +0000 (17:34 -0400)]
(calculate_giv_inc): Handle increment computed by ASHIFT.
From-SVN: r10256
Richard Kenner [Sat, 19 Aug 1995 21:28:43 +0000 (17:28 -0400)]
(subdi3): Should not be commutative.
(one_cmpldi2): Fixed typo with register operand.
From-SVN: r10255
Richard Kenner [Sat, 19 Aug 1995 21:20:35 +0000 (17:20 -0400)]
(INITIALIZE_TRAMPOLINE): Sync function now named sync_isync.
From-SVN: r10254
Richard Kenner [Sat, 19 Aug 1995 21:20:06 +0000 (17:20 -0400)]
(sync_isync): Renamed from sync...
(sync_isync): Renamed from sync; added an isync insn after the sync to
properly deal with PowerPC's with split I/D caches.
From-SVN: r10253
Richard Kenner [Sat, 19 Aug 1995 21:19:42 +0000 (17:19 -0400)]
(output_prolog): Fixup code to set stack pointer if stack size > 32k.
From-SVN: r10252
Richard Kenner [Sat, 19 Aug 1995 21:17:05 +0000 (17:17 -0400)]
Revert last change.
From-SVN: r10251
Richard Kenner [Sat, 19 Aug 1995 21:14:15 +0000 (17:14 -0400)]
(output_prolog): Reverse big stack update and restore POWER mnemonics
alternative.
From-SVN: r10250
Richard Kenner [Sat, 19 Aug 1995 21:07:02 +0000 (17:07 -0400)]
(fancy_btst,fancy_btst1): Branch target must be operand 0 for length
attribute to work.
From-SVN: r10249
Richard Kenner [Sat, 19 Aug 1995 21:06:44 +0000 (17:06 -0400)]
(STATIC_CHAIN_REGNUM): Use r3.
(REGISTER_NAMES): Print r7 as sp.
(ADDITIONAL_REGISTER_NAMES): Recognize r7.
(ASM_OUTPUT_ALIGN): Alignment is power of 2.
From-SVN: r10248
Richard Kenner [Sat, 19 Aug 1995 20:43:07 +0000 (16:43 -0400)]
Declare __eprintf with attribute noreturn.
From-SVN: r10247
Richard Kenner [Sat, 19 Aug 1995 20:40:07 +0000 (16:40 -0400)]
Don't define wchar_t if __cplusplus is defined.
From-SVN: r10246
Richard Kenner [Tue, 15 Aug 1995 22:00:40 +0000 (18:00 -0400)]
(warning_with_line): Fix typo in declaration when !HAVE_VPRINTF and
defined (__STDC__).
From-SVN: r10245
Richard Kenner [Tue, 15 Aug 1995 21:57:41 +0000 (17:57 -0400)]
(ediv, emul): Set sign bit of IEEE -0.0 result.
From-SVN: r10244
Richard Kenner [Tue, 15 Aug 1995 21:51:44 +0000 (17:51 -0400)]
(safe_from_p): Only safe if EXP is variable-size and X is BLKmode.
From-SVN: r10243
Richard Kenner [Tue, 15 Aug 1995 21:49:35 +0000 (17:49 -0400)]
(fixup_gotos): When some fixups done, reset to point to next instead
of zeroing TREE_VALUE, which may be shared.
From-SVN: r10242
Per Bothner [Tue, 15 Aug 1995 02:33:42 +0000 (19:33 -0700)]
Changes for Linux and LynxOS.
From-SVN: r10239
Richard Kenner [Mon, 14 Aug 1995 13:15:42 +0000 (09:15 -0400)]
(STARTFILE_SPEC): Define as empty.
From-SVN: r10238
Richard Kenner [Mon, 14 Aug 1995 13:08:53 +0000 (09:08 -0400)]
(vms_check_external): Update `pending_head' properly when the first
list element is removed.
From-SVN: r10237
Richard Kenner [Mon, 14 Aug 1995 13:01:18 +0000 (09:01 -0400)]
(call expanders): Emit a blockage insn after restoring %r19 when
generating PIC.
From-SVN: r10236
Richard Kenner [Mon, 14 Aug 1995 01:58:39 +0000 (21:58 -0400)]
(main): Change text of unsupported -g option warning.
From-SVN: r10235
Richard Kenner [Mon, 14 Aug 1995 01:47:53 +0000 (21:47 -0400)]
objc-api.h (sel_get_any_typed_uid): Declare new function.
From-SVN: r10234
Richard Kenner [Mon, 14 Aug 1995 01:47:34 +0000 (21:47 -0400)]
(sel_get_any_typed_uid): New function.
From-SVN: r10233
Richard Kenner [Mon, 14 Aug 1995 01:42:59 +0000 (21:42 -0400)]
(c_expand_asm_operands): Check for read-only output operand where the
variable is read-only but the type is not.
From-SVN: r10232
Richard Kenner [Mon, 14 Aug 1995 01:38:53 +0000 (21:38 -0400)]
(final_start_function): Always call sdbout_begin_function and
xcoffout_begin_function, even if no line number info.
From-SVN: r10231
Richard Kenner [Mon, 14 Aug 1995 01:34:31 +0000 (21:34 -0400)]
(va_start): For stdarg, delete separate define for 64 bit ABI.
(va_start): For stdarg, delete separate define for 64 bit ABI. For
varargs, don't subtract 64, and only add -8 when all argument
registers are used.
From-SVN: r10230
Richard Kenner [Mon, 14 Aug 1995 01:34:08 +0000 (21:34 -0400)]
(INITIAL_ELIMINATION_OFFSET): For 64 bit ABI...
(INITIAL_ELIMINATION_OFFSET): For 64 bit ABI, subtract
current_function_pretend_args_size when converting from argument
pointer.
From-SVN: r10229
Richard Kenner [Mon, 14 Aug 1995 01:33:47 +0000 (21:33 -0400)]
(SETUP_INCOMING_VARARGS): In if statement, only subtract one for stdarg.
(SETUP_INCOMING_VARARGS): In if statement, only subtract one for
stdarg. Don't subtract PRETEND_SIZE from argument pointer when
calculating stack address.
From-SVN: r10228
Richard Kenner [Mon, 14 Aug 1995 01:29:58 +0000 (21:29 -0400)]
(main): When concat gcc_exec_prefix and standard_startfile_prefix, put
machine_suffix in the middle.
From-SVN: r10227
Richard Kenner [Mon, 14 Aug 1995 01:26:00 +0000 (21:26 -0400)]
(INIT_SECTION_ASM_OP): Don't define.
(LD_INIT_SWITCH, LD_FINI_SWITCH, HAS_INIT_SECTION): Don't undef.
(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Ifdef out.
From-SVN: r10226
Richard Kenner [Mon, 14 Aug 1995 01:21:45 +0000 (21:21 -0400)]
(move_deaths): When have a multi-reg hard register, if don't find a
note, then recur for each individual hard register.
From-SVN: r10225
Richard Kenner [Mon, 14 Aug 1995 01:16:03 +0000 (21:16 -0400)]
(direct_return): Epilogue required if CR saved.
From-SVN: r10224
Richard Kenner [Sun, 13 Aug 1995 23:07:17 +0000 (19:07 -0400)]
(movdi matchers): Fix src/dest order in unaligned reg->reg case.
From-SVN: r10223
Richard Kenner [Sun, 13 Aug 1995 22:53:16 +0000 (18:53 -0400)]
(HAVE_STRERROR): New definition.
From-SVN: r10222
Richard Kenner [Sun, 13 Aug 1995 22:48:53 +0000 (18:48 -0400)]
Add missing carriage return.
From-SVN: r10221
Richard Kenner [Sun, 13 Aug 1995 22:45:42 +0000 (18:45 -0400)]
(set_nonvarying_address_components): Handle addresses which are the sum of two constant pseudo regs.
(set_nonvarying_address_components): Handle addresses which are the sum of
two constant pseudo regs.
(cse_rtx_addr_varies_p): Likewise.
From-SVN: r10220
Richard Kenner [Sun, 13 Aug 1995 22:40:43 +0000 (18:40 -0400)]
(USER_H): Add va-ppc.h.
From-SVN: r10219
Richard Kenner [Sun, 13 Aug 1995 22:36:03 +0000 (18:36 -0400)]
(expand_asm_operands): Type '0'..'4' operands may allow regs, so move
them to the default case.
From-SVN: r10218
Richard Kenner [Sun, 13 Aug 1995 22:32:16 +0000 (18:32 -0400)]
(warning_with_line): New function.
(trigraph_pcp): Use it, to avoid reporting line number.
(vwarning_with_line): Don't report line number if zero.
From-SVN: r10217
Richard Kenner [Sun, 13 Aug 1995 22:28:53 +0000 (18:28 -0400)]
(gfloat.h): Add a - before the rm command.
From-SVN: r10216