Commit Graph

6429 Commits

Author SHA1 Message Date
Jim Wilson
876c09d3a8 (enum cmp_type): Add 64 bit support.
(enum processor_type): Add PROCESSOR_R4600.
(MASK_64BIT, TARGET_64BIT): New mask bit, to indicate 64 bit mode.
(HAVE_64BIT_P, OPTIMIZATION_OPTIONS): Delete.
(CPP_SPEC): Don't abort if not defined.
(CC1_SPEC): -mips1 and -mips2 imply -mfp32. -mips3 implies -mfp64.
(CPP_SPEC): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, and __mips.
(BITS_PER_WORD, UNITS_PER_WORD, INT_SIZE_TYPE, LONG_TYPE_SIZE,
LONG_LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY,
PARM_BOUNDARY, EMPTY_FIELD_BOUNDARY, HARD_REGNO_NREGS,
CONST_OK_FOR_LETTER_P, STACK_ARGS_ADJUST, FUNCTION_PROFILER,
TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT,
INITIALIZE_TRAMPOLINE, CASE_VECTOR_MODE, MOVE_MAX,
TRULY_NOOP_TRUNCATION, Pmode, FUNCTION_MODE,
ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add 64 bit support.
(MAX_BITS_PER_WORD, MAX_UNITS_PER_WORD, UNITS_PER_FPREG,
MAX_INT_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
MAX_MOVE_MAX): Define.
(INDEX_REG_CLASS): NO_REGS not GR_REGS.
(CONST_DOUBLE_OK_FOR_LETTER_P): Don't examine CONST_DOUBLE
internals.
(PREFERRED_RELOAD_CLASS): Return CLASS if it isn't ALL_REGS.
(TRANSFER_FROM_TRAMPOLINE, ASM_OUTPUT_CASE_LABEL): Delete.
(REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Redefine to 0.
(GO_IF_LEGITIMATE_ADDRESS): Delete redundant code0 == REG test.
(ENCODE_SECTION_INFO): Don't test mips_section_threshold.
(CONST_COSTS): CONST_INT have cost 0 not CONSTS_N_INSNS (0).  Pass
address not MEM to eliminate_constant_term.  Add 64 bit support.
(MEMORY_MOVE_COST, ASM_OUTPUT_DOUBLE_INT): Define.
(EXTRA_SECTIONS): Delete in_last_p1.
(SELECT_RTX_SECTION): Delete division by BITS_PER_UNIT.
(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
(SIZE_TYPE, PTRDIFF_TYPE): Add 64 bit support.

From-SVN: r6392
1994-01-13 15:51:54 -08:00
Jim Wilson
147255d877 (dfhigh, dflow, sfhigh, sflow): New variables.
(mips_sw_reg_names): Consistently use $ as name prefix.
(large_int): Handle 64 bit constants.
(reg_or_0_operand, mips_const_double_ok): Don't examine
CONST_DOUBLE internals.
(mips_const_double_ok): Use REAL_VALUE_* macros.
(simple_memory_operand): Add 64 bit support.  Only test
TARGET_GP_OPT to determine if doing gp optimizations.  Pass
address not MEM to eliminate_constant_term.  Use SMALL_INT.
(mips_fill_delay_slot): Add 64 bit support.
(mips_move_1word): Add 64 bit support.  Don't examine CONST_DOUBLE
internals.
(mips_move_2words): Likewise.
(mips_address_cost): Pass address not MEM to
eliminate_constant_term.  Use SMALL_INT.
(gen_int_relational): New variable mode.  Add 64 bit support.
(gen_conditional_branch): Add 64 bit support.
(block_move_load_store, block_move_loop, block_move_call,
expand_block_move, output_block_move, function_arg_advance,
function_arg, function_arg_partial_nregs): Likewise.
(override_options): Clear MASK_GPOPT if threshold is zero or
negative.  Set MASK_GPOPT if optimizing.  Set mips_isa from -misa=
option, else from MIPS_ISA_DEFAULT if defined, else to 1.  Make
default cpu depend on isa.  Add cpus r4400, r4600, orion.  Rewrite
TARGET_NAME_REGS support.  Initialize dfhigh, dflow, sfhigh,
sflow.  Add 64 bit support.
(print_operand): Use REAL_VALUE_* macros.
(mips_output_external): Don't depend on mips_section_threshold.
(make_temp_file): Define P_tmpdir when __MSDOS__.  Malloc filename
string.  Don't unlink temp file when __MSDOS__.
(mips_asm_file_start): Delete TARGET_NAME_REGS support.
(mips_asm_file_end): Unlike temp file when __MSDOS__.
(mips_declare_object): Don't test mips_sections_threshold.
(compute_frame_size, save_restore_insns, function_prologue,
mips_expand_prologue, function_epilogue, mips_expand_epilogue):
Add 64 bit support.
(function_epilogue): Correctly output `#' before .set volatile.

From-SVN: r6391
1994-01-13 15:51:01 -08:00
Jim Wilson
284f1f5a9c (CPP_SPEC): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, and __mips.
(CPP_SPEC): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, and
__mips.
(SIZE_TYPE, PTRDIFF_TYPE): Delete.

From-SVN: r6390
1994-01-13 15:49:58 -08:00
Richard Kenner
06c6bfb17b (maybe_attribute): Allow multiple __attribute__ clauses on a
declaration.

From-SVN: r6389
1994-01-13 06:14:08 -05:00
Richard Kenner
9f7287cd93 (REG_CLASS_CONTENTS): Fix problems with last word of register set in
some classes.

(MEMORY_MOVE_COST): New macro.

From-SVN: r6388
1994-01-13 06:00:57 -05:00
Richard Kenner
3450f7ba60 Fix typo in -hiux* case.
From-SVN: r6387
1994-01-13 05:42:24 -05:00
Per Bothner
6c73937e8f dbxout.c (dbxout_range_type): If the range has a base type (TREE_TYPE)...
* dbxout.c (dbxout_range_type):  If the range has a base type
(TREE_TYPE), emit it, even if that is some other integer type.

From-SVN: r6386
1994-01-12 13:30:12 -08:00
Richard Kenner
8e871c0596 (sqrtsf2, sqrtdf2): Change POWERPCSQR to PPCFPX.
(maxsf3, minsf3, maxdf3, mindf3): New patterns using fsel instruction.

From-SVN: r6385
1994-01-12 06:02:09 -05:00
Richard Kenner
6a7ec0a773 (MASK and TARGET): Change POWERPCSQR to PPCFPX to describe both fsqrt
and fsel.

From-SVN: r6384
1994-01-12 06:00:25 -05:00
Richard Kenner
fab3bcc305 (rs6000_override_options): Change POWERPCSQR to PPCFPX.
From-SVN: r6383
1994-01-12 05:59:49 -05:00
Richard Kenner
b7f37b10e0 (output_prolog): Update debug reg map when we have -mkernel-registers.
From-SVN: r6382
1994-01-11 19:18:43 -05:00
Richard Kenner
e9b5e15f60 (fold, truth_andor): Don't apply distributive law when it would change evaluation order.
(fold, truth_andor): Don't apply distributive law when it would change
evaluation order.
Clean up code a bit to improve flow.

From-SVN: r6381
1994-01-11 19:14:18 -05:00
Richard Kenner
212ac20ceb Remove redundant prototype for gen_highpart.
From-SVN: r6380
1994-01-10 19:37:14 -05:00
Richard Kenner
3d329b07b7 (assign_parms): Call gen_realpart and gen_imagpart instead of
gen_lowpart and gen_highpart.

From-SVN: r6379
1994-01-10 19:36:36 -05:00
Richard Kenner
976ff203d8 (emit_move_insn_1): Call gen_realpart and gen_imagpart instead of
gen_lowpart and gen_highpart.

From-SVN: r6378
1994-01-10 19:35:46 -05:00
Richard Kenner
dc139c902a (gen_{real,imag}part): Extract value from CONCAT directly.
(gen_lowpart_common, gen_highpart): Don't do it here.

From-SVN: r6377
1994-01-10 19:32:57 -05:00
Richard Kenner
28bad1cbc3 (simplify_relational_operation): Don't do anything with CC0 in
addition to MODE_CC values.

From-SVN: r6376
1994-01-10 19:31:01 -05:00
Richard Kenner
e9baa64402 (protect_from_queue): If (MEM (QUEUED ...)), modify a new MEM instead
of the one we were passed.

From-SVN: r6375
1994-01-10 19:23:47 -05:00
Richard Kenner
4a86a6d20f Update banner, reformat comments.
(STARTFILE_SPEC, GPLUSPLUS_INCLUDE_DIR): No longer conditional
on CROSS_COMPILER.

From-SVN: r6374
1994-01-10 19:20:48 -05:00
Richard Kenner
543ec99562 (gcc.o, cccp.o): No longer define TOOLDIR.
From-SVN: r6373
1994-01-10 19:20:18 -05:00
Richard Kenner
ad800eb153 (make_decl_rtl): Call globalize_reg, not init_reg_sets_1.
From-SVN: r6372
1994-01-10 19:17:08 -05:00
Richard Kenner
614f68e2af (globalize_reg): New function.
(init_reg_sets_1): Don't handle global regs here.

From-SVN: r6371
1994-01-10 19:16:27 -05:00
Richard Kenner
b0c3841605 (comparison_dominates_p): NE is dominated by LT, GT, LTU and GTU.
From-SVN: r6370
1994-01-10 19:13:48 -05:00
Richard Kenner
1374b35799 (print_operand, case 'F'): If we have to do the last prolog insn, give
that priority for an unfilled delay slot.

From-SVN: r6369
1994-01-10 19:10:11 -05:00
Richard Kenner
993102850b (exand_expr, case RTL_EXPR): Call new function preserve_rtl_expr_result.
From-SVN: r6368
1994-01-10 19:06:36 -05:00
Richard Kenner
422c8f6335 (preserve_rtl_expr_result): New function.
From-SVN: r6367
1994-01-10 19:05:31 -05:00
Jim Wilson
a18730e12a (new_insn_dead_notes): Compare registers with rtx_equal_p.
From-SVN: r6366
1994-01-10 14:30:44 -08:00
Jim Wilson
57a60e95cd (SHELL): Define to /bin/bash.
From-SVN: r6365
1994-01-10 10:42:47 -08:00
Jim Wilson
9cfb5dd68c (Makefile, stmp-fixinc, deduced.h, stmp-fixproto):
Execute shell scripts with $(SHELL).

From-SVN: r6364
1994-01-10 10:42:16 -08:00
Jeff Law
3f935c0b1d * pa.md (special indexed fpstores): Fix assorted typos.
From-SVN: r6363
1994-01-09 20:30:24 -07:00
James Van Artsdalen
609f7031f2 (install-headers-cpio): Run cpio in include-dir.
From-SVN: r6362
1994-01-09 10:36:32 +00:00
James Van Artsdalen
b209b3c59f (follow_jumps): Don't follow tablejumps.
From-SVN: r6361
1994-01-09 10:35:48 +00:00
Doug Evans
9e9b48a4a2 (rest_of_compilation): jump_optimize can change max_reg_num so rerun reg_scan
before calling cse_main.

From-SVN: r6360
1994-01-08 19:56:03 +00:00
Torbjorn Granlund
919ea6a5c3 (RTX_COSTS): Return actual costs for multiplication.
From-SVN: r6359
1994-01-08 01:33:38 +00:00
Jim Wilson
6d55e0ab0a (sdbout_symbol): Handle variables at zero offset from frame pointer.
From-SVN: r6358
1994-01-04 10:43:51 -08:00
Richard Kenner
6a22e3a731 (substitute_expr): Don't abort for RTL_EXPR and SAVE_EXPR; just do
nothing.

From-SVN: r6357
1994-01-04 07:34:51 -05:00
Jeff Law
dadae8179e pa.md (andsi3): Use "?" instead of "!" to avoid losing in some cases.
* pa.md (andsi3): Use "?" instead of "!" to avoid losing
        in some cases.

From-SVN: r6356
1994-01-03 22:53:11 -07:00
Torbjorn Granlund
6f606d6366 (rest_of_compilation): Pass 1 for flag_before_jump first
time we call thread_jumps.

From-SVN: r6355
1994-01-03 22:20:42 +00:00
Torbjorn Granlund
aa38b201de (thread_jumps): Don't thread to loop label; create new label before loop instead.
(thread_jumps): Don't thread to loop label; create new label
before loop instead.
(thread_jumps): Rename argument `verbose' -> `flag_before_jump'.

From-SVN: r6354
1994-01-03 22:20:01 +00:00
Torbjorn Granlund
8b39ed65f1 (build_binary_op, case *_DIV_EXPR): Use same shorten
condition as for TRUNC_MOD_EXPR.

From-SVN: r6353
1994-01-03 21:59:04 +00:00
Richard Kenner
61f275ffe7 (truth_value_p): New function.
(fold): Use it to see when we should make a TRUTH_{AND,OR}_EXPR.
(fold, case TRUTH_{AND,OR,ANDIF,ORIF}_EXPR): Use distributive law on
expressions such as (A && B) || (A && C).

From-SVN: r6352
1994-01-03 07:59:59 -05:00
Richard Kenner
64812ded25 (simplify_relational_operation): Correct declaration of variables
holding parts of constants.

From-SVN: r6351
1994-01-02 08:14:22 -05:00
Richard Kenner
7e89c3a3fd (main): Turn on -fomit-frame-pointer if it is safe.
Add -O3, which turns on -finline-functions.

From-SVN: r6350
1993-12-31 06:56:39 -05:00
Richard Kenner
7be1e5236c (CAN_DEBUG_WITHOUT_FP): Define.
(OPTIMIZATION_LEVELS): Just set MASK_GPOPT.

From-SVN: r6349
1993-12-31 06:55:57 -05:00
Richard Kenner
4f074454bb Define CAN_DEBUG_WITHOUT_FP; delete OPTIMIZATION_OPTIONS.
From-SVN: r6348
1993-12-31 06:55:27 -05:00
Richard Kenner
b0f43a24b7 (OPTIMIZATION_OPTIONS): Just turn on machine-specific opts.
(CAN_DEBUG_WITHOUT_FP): Define.

From-SVN: r6347
1993-12-31 06:53:28 -05:00
Richard Kenner
2254dcd5db Delete OPTIMIZATION_OPTIONS.
From-SVN: r6346
1993-12-31 06:53:01 -05:00
Richard Kenner
faa2075e94 Define NO_FUNCTION_CSE and CAN_DEBUG_WITHOUT_FP; delete
OVERRIDE_OPTIONS.

From-SVN: r6345
1993-12-31 06:52:33 -05:00
Richard Kenner
a432f20d05 (simplify_relational_operation): Rewrite and simplify.
Add case when we can simplify A-B for compare of A and B.

From-SVN: r6344
1993-12-31 06:47:13 -05:00
Richard Kenner
abe6e52f23 (added_links_insn): New variable.
(distribute_links): Set it.
(if_then_else_cond): New function.
(try_combine): Return added_links_insn if it is earlier than what we would
otherwise return.
(subst): Generalize (OP X Y) to call if_then_else_cond instead of only
checking for an explicit IF_THEN_ELSE.
(subst, case IF_THEN_ELSE): When converting to a MULT, simplify the MULT
before putting it into OP.
(subst, case AND): Don't make IF_THEN_ELSE here; now made in generic case
earlier.

From-SVN: r6343
1993-12-31 06:44:59 -05:00
Richard Kenner
e3d616e3da (force_to_mode): Add new parm JUST_SELECT; all callers changed.
From-SVN: r6342
1993-12-31 06:27:31 -05:00
Richard Kenner
996c63d336 (fold, case PLUS_EXPR): Add a missing test of flag_fast_math.
From-SVN: r6341
1993-12-29 18:04:48 -05:00
Richard Kenner
c407b802da (simplify_binary_operation, case MULT): Don't convert to ASHIFT if
still generating RTL.

From-SVN: r6340
1993-12-29 06:51:45 -05:00
Ian Lance Taylor
bb7c21a564 Do not fix <syndev/ipi_error.h> to avoid problems with SunOS sed
From-SVN: r6339
1993-12-28 03:15:25 +00:00
Richard Kenner
2bbc163fd3 (maxsf3, minsf3): Correct numerous errors.
From-SVN: r6338
1993-12-27 12:02:09 -05:00
Richard Kenner
1fc3d466bf (get_condition): Can reverse comparison if -ffast-math.
From-SVN: r6337
1993-12-27 08:50:11 -05:00
Richard Kenner
9b2e59adde (can_reverse_comparison_p): Return 1 if -ffast-math.
From-SVN: r6336
1993-12-27 08:49:28 -05:00
Richard Kenner
fab446b8c3 (fold): Simplify more FP ops if -ffast-math.
From-SVN: r6335
1993-12-27 08:48:58 -05:00
Richard Kenner
a83afb65d0 (simplify_binary_operation, fold_rtx): Allow some FP simplications with -ffast-math.
(simplify_binary_operation, fold_rtx): Allow some FP simplications
with -ffast-math.
(simplify_relational_operation): FP comparisons can be reversed
if -ffast-math is specified.

From-SVN: r6334
1993-12-27 08:48:17 -05:00
Richard Kenner
7e2a0d8ef4 (subst, case MINUS): Allow some FP simplifications if -ffast-math.
(reversible_comparison_p): FP comparisons reversible with -ffast-math.

From-SVN: r6333
1993-12-27 08:47:14 -05:00
Richard Kenner
60614fddd4 (iordi3): Use ornot for some constant cases.
From-SVN: r6332
1993-12-27 06:28:38 -05:00
Richard Kenner
a61edda592 (PREDICATE_CODES): Add ior_operand.
From-SVN: r6331
1993-12-27 06:28:14 -05:00
Richard Kenner
8088469de4 (ior_operand): New function.
From-SVN: r6330
1993-12-27 06:27:52 -05:00
Richard Kenner
bf500664d7 (do_tablejump): Call emit_cmp_insn with likely-constant as second
operand.

From-SVN: r6329
1993-12-26 18:12:37 -05:00
Richard Kenner
5954c8a8b7 (jump_optimize): When deleting an insn after a jump, update
reallabelprev since it might point to the deleted insn.

From-SVN: r6328
1993-12-26 08:37:13 -05:00
Richard Kenner
79644f0689 (count_reg_usage): Don't count a register used within a SET that sets it.
(delete_dead_from_cse): Pass new parm to count_reg_usage.

From-SVN: r6327
1993-12-26 08:30:32 -05:00
Richard Kenner
c2cc077888 (fold_rtx...
(fold_rtx, case PLUS): If we have (plus A B), A is equivalent to a
negative constant, and the negated constant is in register, convert to
(minus A C) where C is the register containing the negated constant.

From-SVN: r6326
1993-12-26 07:55:11 -05:00
Jeff Law
75600ead0c pa.h (DBX_BLOCKS_FUNCTION_RELATIVE): Define.
* pa.h (DBX_BLOCKS_FUNCTION_RELATIVE): Define.
        (ASM_OUTPUT_SOURCE_LINE): Likewise.
        (DBX_FUNCTION_FIRST): Likewise.

        * pa.h (FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM): Change to %r3
        for compatability with HP compilers.

        * pa.h (READONLY_DATA_SECTION): Re-enable use of $LIT$.

From-SVN: r6325
1993-12-25 21:46:37 -07:00
Richard Kenner
c0b178d09b (gen_reg_rtx): Only clear part of arrays we aren't going to copy into.
From-SVN: r6324
1993-12-25 18:00:14 -05:00
Richard Kenner
3207b172f7 (expand_expr, case CONSTRUCTOR): If have a target, don't build
constructor into memory.

From-SVN: r6323
1993-12-25 17:51:12 -05:00
Richard Kenner
307b821c36 (expand_expr...
(expand_expr, case ARRAY_REF): Remove uses of *_type_node and simplify
folding a reference to a character in a STRING_CST.

From-SVN: r6322
1993-12-25 13:35:27 -05:00
Richard Kenner
43b603ea3d Rename R_ACC to R_ACU to not conflict with access.h.
From-SVN: r6321
1993-12-25 13:11:53 -05:00
Richard Kenner
d9ee453842 (USG): Delete from here (already in xm.h file).
From-SVN: r6320
1993-12-25 13:05:05 -05:00
Richard Kenner
2c4d3019bd (HAVE_VPRINTF): Define.
From-SVN: r6319
1993-12-25 13:04:48 -05:00
Richard Kenner
15a676cca0 (HAVE_VPRINTF): Delete from here.
From-SVN: r6318
1993-12-25 13:04:35 -05:00
Richard Kenner
3e5f801865 (print_node, print_node_brief): Say something when
TREE_CONSTANT_OVERFLOW is set.

From-SVN: r6317
1993-12-25 12:47:01 -05:00
Richard Kenner
0c847d7db5 (check_dbra_loop): Fix error in previous change.
From-SVN: r6316
1993-12-25 12:37:10 -05:00
Richard Kenner
9e69be8c65 (set_nonzero_bits_and_sign_copies, nonzero_bits): Fix errors in
SHORT_IMMEDIATES_SIGN_EXTEND code.

From-SVN: r6315
1993-12-25 09:28:45 -05:00
Richard Kenner
14d4a67a32 (FUNCTION_ARG): Pass complex float in float regs.
From-SVN: r6314
1993-12-25 09:02:34 -05:00
Richard Kenner
95aa28ae18 (fold...
(fold, case EQ_EXPR, NE_EXPR): If COMPLEX_TYPE and at least one arg is
a COMPLEX_EXPR, split into a logical operation on the real and
imaginary parts.

From-SVN: r6313
1993-12-25 08:52:25 -05:00
Richard Kenner
75326e8c5a (common_type): For COMPLEX_TYPE, return one of the original types if is the desired common type.
(common_type): For COMPLEX_TYPE, return one of the original types if is the
desired common type.
(build_binary_op): Use SHORT_COMPARE code even if complex.

From-SVN: r6312
1993-12-25 08:30:49 -05:00
Richard Kenner
c470260b41 (grokdeclarator): Properly validate __complex__ and create the various
kinds of complex integer types.

From-SVN: r6311
1993-12-25 07:52:49 -05:00
Richard Kenner
089481a600 (simplify_unary_operations): Check that operations really are
double-word before doing them.

From-SVN: r6310
1993-12-25 06:05:04 -05:00
Richard Kenner
3308590619 (simplify_binary_operation): Fix typo in CONST_DOUBLE change.
From-SVN: r6309
1993-12-24 21:54:55 -05:00
Richard Kenner
30d69925b6 (simplify_binary_operation, case PLUS, MINUS):
Simplify such things as (X >> 1) - X.

From-SVN: r6308
1993-12-24 21:24:39 -05:00
Jim Wilson
6e7f952e96 (read_name_map, read_filename_string, open_include_file):
New functions.
(struct file_name_list): New members: name_map, got_name_map.
(main, path_include, do_include, do_once): Set got_name_map.
(do_include): Use open_include_file instead of open.  Add new
parameter to lookup_import calls.
(lookup_import): New parameter searchptr.  Call open_include_file
instead of open.

From-SVN: r6307
1993-12-24 12:49:47 -08:00
Jim Wilson
2bf29316da (convert_modes): Can't truncate REG with gen_lowpart if
TRULY_NOOP_TRUNCATION doesn't allow it.

From-SVN: r6306
1993-12-24 12:20:44 -08:00
Jeff Law
4433322379 cse.c (cse_insn): Set "cse_jumps_altered" when collapsing a switch statement into an...
* cse.c (cse_insn): Set "cse_jumps_altered" when collapsing
        a switch statement into an unconditional jump.
        * toplev.c (rest_of_compilation): Rerun jump_optimize
        before the second CSE pass.

From-SVN: r6305
1993-12-24 12:36:04 -07:00
Richard Kenner
18bd1bd9bb (output_prolog): Need GP if type ISUBR.
From-SVN: r6304
1993-12-24 08:56:20 -05:00
Richard Kenner
454f33b937 (define_attr type): Add new type ISUBR.
(divmod): Set to type ISUBR.

From-SVN: r6303
1993-12-24 08:56:03 -05:00
Richard Kenner
03b72c86a8 (push_reload...
(push_reload, find_reloads): Reload inside a paradoxical SUBREG of MEM
except don't force a reload unless the inner mode is narrower than
BIGGEST_ALIGNMENT.

From-SVN: r6302
1993-12-24 08:33:15 -05:00
Richard Kenner
3c9d8bafe2 (check_init_type_bitfields): Check recursively inside arrays and
records.

From-SVN: r6301
1993-12-24 07:54:26 -05:00
Richard Kenner
6f38f669d0 (decl_attribute): Verify that alignment and format argument numbers are all integer constants.
(decl_attribute): Verify that alignment and format argument numbers are all
integer constants.
Continue on to next attribute if one is in error.

From-SVN: r6300
1993-12-24 07:38:37 -05:00
Richard Kenner
ba09c753fb (attrib): Allow expressions instead of constants.
From-SVN: r6299
1993-12-24 07:37:56 -05:00
Richard Kenner
fe87324067 (simplify_binary_operation): Can fold multi-word operations when first is CONST_INT.
(simplify_binary_operation): Can fold multi-word operations when first is
CONST_INT.
(simplify_binary_operation, case PLUS, MINUS): Don't call plus_constant when
OP0 is VOIDmode.

From-SVN: r6298
1993-12-24 06:53:52 -05:00
Torbjorn Granlund
27f006ebb1 (thread_jumps): Delete redundant loop termination test.
From-SVN: r6297
1993-12-24 11:46:56 +00:00
Torbjorn Granlund
4d61f8c559 (simplify_binary_operation, case *SHIFT*): Reduce arg1 as
defined by SHIFT_COUNT_TRUNCATED.

From-SVN: r6296
1993-12-24 11:46:16 +00:00
Richard Kenner
792089b33e (pop_init_level): Don't abort if have incomplete array type inside
some other type.

From-SVN: r6295
1993-12-24 05:35:46 -05:00
Torbjorn Granlund
2f95ebc26b (iorscc): New recognizer.
2 new recognizers for sub;subb.  1 new recognizer for addi;subb.
(movstrsi): Remove predicates.  Set inline threshold to 8.
(umulsidi3): Change predicates to nonimmediate_operand.
New recognizer for multiply-by-immediate.
(andsi3): Add `!' for register alternative.
(vdepi_ior, vdepi_and): New recognizers.
(vextru rx,1,ry, vextrs rx,1,ry): New recognizers.
(call, call_value): If PIC, emit USE for for
PIC_OFFSET_TABLE_REGNUM.  Use PIC_OFFSET_TABLE_REGNUM rather than 19.

From-SVN: r6294
1993-12-24 03:13:01 +00:00
Torbjorn Granlund
5a1c10de98 (FUNCTION_INCOMING_ARG): Delete definition.
(RTX_COSTS) [PLUS]: Rewrite.
(output_scc_insn): Delete.
(output_floatsisf2): Delete.
(output_floatsidf2): Delete.
(PREDICATE_CODES): Define, but leave within #if 0 for now.
(CONDITIONAL_REGISTER_USAGE): Never make
PIC_OFFSET_TABLE_REGNUM fixed.
(INITIALIZE_PIC): Delete.

From-SVN: r6293
1993-12-24 03:11:57 +00:00