8569 Commits

Author SHA1 Message Date
Richard Kenner
ca89d290d8 (record_dead_and_set_regs_1): Handle SUBREGs.
From-SVN: r8594
1994-11-30 19:12:38 -05:00
Richard Kenner
5c5033c3c7 (convert_move): When emit multiword conversion, force FROM into a new
pseudo-reg if it overlaps TO.

From-SVN: r8593
1994-11-30 19:07:49 -05:00
Richard Kenner
db40b434fa (fold_truthop): Delete BIT_AND_EXPR of constants with masks.
From-SVN: r8592
1994-11-30 19:02:39 -05:00
Richard Kenner
e4f5b48ec2 (floatsidf2): Test BITS_PER_WORD in pattern condition not during build.
Fail if TARGET_POWERPC64.
(floatunssidf2): Likewise.

From-SVN: r8591
1994-11-30 18:51:42 -05:00
Richard Kenner
2e360ab3f7 (BITS_PER_WORD): TARGET_POWERPC64 dependent.
(MAX_BITS_PER_WORD): Define.
(UNITS_PER_WORD): TARGET_POWERPC64 dependent.
(MAX_UNITS_PER_WORD): Define.
(UNITS_PER_FP_WORD): Define.
(HARD_REGNO_NREGS): Use MAX_UNITS_PER_FP_WORD.
(HARD_REGNO_MODE_OK): Likewise.
(CLASS_MAX_NREGS): Likewise.
(MOVE_MAX): TARGET_POWER and TARGET_POWERPC64 dependent.
(MAX_MOVE_MAX): Define.

From-SVN: r8590
1994-11-30 18:51:07 -05:00
Richard Kenner
414d3ee46f (PREDICATE_CODES): Add lwa_operand.
From-SVN: r8589
1994-11-30 18:22:24 -05:00
Richard Kenner
a7a813f79f (lwa_operand): New predicate.
From-SVN: r8588
1994-11-30 18:22:07 -05:00
Richard Kenner
287f13ffdd (extendsidi2): Use lwa_operand predicate.
(sign_extend load with update): New PowerPC64 pattern.

From-SVN: r8587
1994-11-30 18:21:37 -05:00
Richard Kenner
5c30aff875 (extendsfdf2): SFmode and DFmode register format identical so use define_expand...
(extendsfdf2): SFmode and DFmode register format identical so use
define_expand with paradoxical subreg no-op and accompanying new
define_split.

From-SVN: r8586
1994-11-30 18:18:56 -05:00
Richard Kenner
8ca00751f7 (emit_block_move): Only use movstr if size is small enough constant or
MODE is at least BITS_PER_WORD.

From-SVN: r8585
1994-11-30 18:13:44 -05:00
Richard Kenner
8922eb5b24 (combine_reloads): If using reg dying in this insn as reload reg,
ensure it can't be a secondary output reload reg.

From-SVN: r8584
1994-11-30 18:04:48 -05:00
Richard Kenner
a07805c01c (word_type): Use __attribute__ ((mode (__word__))).
From-SVN: r8583
1994-11-30 15:48:22 -05:00
Richard Kenner
caab5771c8 (decl_attribute): Allow special names (e.g, `word') for mode
attribute.

From-SVN: r8582
1994-11-30 15:48:00 -05:00
Richard Kenner
077e4b0117 (ibmrt): Add more cases for various forms of BSD.
From-SVN: r8581
1994-11-29 17:01:25 -05:00
Richard Kenner
84430d2cc0 (init_optabs): Don't set functions for rotl and rotr.
From-SVN: r8580
1994-11-29 16:50:22 -05:00
Richard Kenner
39e7161505 (expand_shift): Open-code rotate even if by a variable.
From-SVN: r8579
1994-11-29 16:49:53 -05:00
Jeff Law
e1a4071f3a explow.c (hard_function_value): Change a register in BLKmode to a register in a sufficiently wide integer mode.
* explow.c (hard_function_value): Change a register in BLKmode
	to a register in a sufficiently wide integer mode.

From-SVN: r8578
1994-11-28 22:45:16 -07:00
Jeff Law
4c485b6355 stmt.c (expand_return): For BLKmode structure returns...
* stmt.c (expand_return): For BLKmode structure returns, copy
	the return value from memory into the return registers.  Use
	an integer mode rather than BLKmode for returning structures
	in registers.

From-SVN: r8577
1994-11-28 22:44:58 -07:00
Jeff Law
203436d9aa integrate.c (function_cannot_inline_p): Do not inline functions which return a BLKmode value in registers.
* integrate.c (function_cannot_inline_p): Do not inline functions
	which return a BLKmode value in registers.

From-SVN: r8576
1994-11-28 22:44:47 -07:00
Jeff Law
aaf87c453b expr.c (expand_assignment): For BLKmode structure returns...
* expr.c (expand_assignment): For BLKmode structure returns,
	copy the return value from registers into the target memory
	locations.

From-SVN: r8575
1994-11-28 22:44:19 -07:00
Jeff Law
766b19fbaf calls.c (expand_call): Handle returning BLKmode values in registers.
* calls.c (expand_call): Handle returning BLKmode values in
	registers.  Do not try to promote BLKmode.

From-SVN: r8574
1994-11-28 22:44:06 -07:00
Jeff Law
451d86c293 pa.h (DEFAULT_PCC_STRUCT_RETURN): Define as zero.
* pa.h (DEFAULT_PCC_STRUCT_RETURN): Define as zero.
	(RETURN_IN_MEMORY): Only large structs (>8 bytes) and addressable
	structs should be returned in memory.
	ci -u calls.c

From-SVN: r8573
1994-11-28 22:43:47 -07:00
Jeff Law
694b6b6ddb calls.c (expand_call): Do not set is_integrable if the function is not inlineable according to...
* calls.c (expand_call): Do not set is_integrable if the
	function is not inlineable according to function_cannot_inline_p.

From-SVN: r8572
1994-11-28 22:40:37 -07:00
Mike Stump
5603182320 libgcc2.c (__register_exceptions): Find max ending of a segment for end, not min.
* libgcc2.c (__register_exceptions): Find max ending of a segment for
        end, not min.
        * libgcc2.c (__unwind_function): New function to support stack
        unwinding on i[34]86 for g++ exception handling.

From-SVN: r8571
1994-11-29 01:33:07 +00:00
Mike Stump
db5ae43ff2 49th Cygnus<->FSF merge
From-SVN: r8570
1994-11-29 00:59:16 +00:00
Jim Wilson
c7a7ac465e (move_by_pieces, move_by_pieces_ninsns, emit_push_insn,
expand_assignment, store_field, expand_expr): Likewise.
(SLOW_UNALIGNED_ACCESS): Default to STRICT_ALIGNMENT, not zero.

From-SVN: r8569
1994-11-28 16:58:52 -08:00
Jim Wilson
5970d32e6e (store_bit_field, extract_bit_field): Consistently use
SLOW_UNALIGNED_ACCESS instead of STRICT_ALIGNMENT.

From-SVN: r8568
1994-11-28 16:58:04 -08:00
Jim Wilson
94d681a0a7 (create_definition): Error if comma not followed by an identifier.
(create_definition): Error if comma not followed by an
identifier.
(collect_expansion): Error if # used in macro with no arguments.

From-SVN: r8567
1994-11-28 16:53:27 -08:00
Richard Kenner
dc93cff0ea (FLAGS_TO_PASS): Fix typo in GCC_FOR_TARGET.
From-SVN: r8566
1994-11-28 18:52:57 -05:00
Jim Wilson
15317f8925 (finish_decl): Use DECL_CONTEXT instead of
current_binding_level to identify file-scope variables.

From-SVN: r8565
1994-11-28 15:03:16 -08:00
Michael Meissner
ad6267596c Add comment on ffs to say why optimizing it further is a bad idea.
From-SVN: r8564
1994-11-25 23:57:41 +00:00
Steve Chamberlain
00f8ff66e9 *** empty log message ***
From-SVN: r8563
1994-11-24 04:38:49 +00:00
Richard Kenner
43d826d977 (TARGET_DEFAULT): Forbid usage of bitfield instructions.
From-SVN: r8562
1994-11-23 17:23:50 -05:00
Richard Kenner
c4338b4712 (everywhere): Correct range is -0x1fffffff to 0x20000000, others have to be loaded with movd.
(everywhere): Correct range is -0x1fffffff to 0x20000000, others have to be
loaded with movd.
Shortcircuit with TARGET_32532 as early as possible.
(movsi): Use movd to load unknown symbol values. to allow

From-SVN: r8561
1994-11-23 17:23:24 -05:00
Richard Kenner
989b3e7257 Add -mhimem to support linking above 0x20000000 boundary.
Fix meaning of BASE_REG_NEEDED.
(print_operand): Removed dead code.

From-SVN: r8560
1994-11-23 17:22:53 -05:00
Richard Kenner
2d33065aae Add -mhimem to support linking above 0x20000000 boundary.
(CONST_COSTS): Correct range is -0x1fff to 0x2000.

From-SVN: r8559
1994-11-23 17:21:54 -05:00
Richard Kenner
6ad2f71a22 Add cases for romp-ibm-aix and romp-ibm-bsd.
From-SVN: r8558
1994-11-23 16:51:08 -05:00
Jim Wilson
9f770b61f6 (mips_output_external): Exclude __builtin_next_arg from list
of used external functions.

From-SVN: r8557
1994-11-23 11:42:41 -08:00
Jim Wilson
07c109c894 (arith_reg_operand): Disallow MACH_REG and MACL_REG.
From-SVN: r8556
1994-11-23 11:25:55 -08:00
Jim Wilson
fb3eb6f6b5 (SECONDARY_MEMORY_NEEDED_RTX, SECONDARY_MEMORY_NEEDED_MODE):
Use MODE not mode.

From-SVN: r8555
1994-11-23 11:09:15 -08:00
Richard Kenner
a98c9f1ab2 (emit_move_insn): If splitting up into individual words and X is a push_operand...
(emit_move_insn): If splitting up into individual words and X is a
push_operand, do the push and reference top of stack.

From-SVN: r8554
1994-11-23 13:30:35 -05:00
Doug Evans
601774ce08 (ASM_OUTPUT_SECTION_NAME): Define.
From-SVN: r8553
1994-11-23 02:39:37 +00:00
Richard Kenner
a8dd0e73ba (gen_lowpart_common): Do nothing if size is greater than twice host
wordsize, not just if equal.

From-SVN: r8552
1994-11-22 17:41:55 -05:00
Richard Kenner
e33745253e (fold_convert): Don't fold conversion if it would produce constant
larger than we can support.

From-SVN: r8551
1994-11-22 17:40:46 -05:00
Richard Kenner
dce39da657 (emit_no_conflict_block): Just emit the insns if the block contains
something not an INSN or has an embedded block.

From-SVN: r8550
1994-11-22 14:38:02 -05:00
Richard Kenner
9fe0563aff (layout_type): Use ptr_mode instead of equivalent call to
mode_for_size.

From-SVN: r8549
1994-11-22 06:29:12 -05:00
Richard Kenner
15c9248c38 (init_emit): Set REGNO_POINTER_FLAG for HARD_FRAME_POINTER_REGNUM.
(ptr_mode): Add definition.
(init_emit_once): Initialize ptr_mode.

From-SVN: r8548
1994-11-22 06:28:38 -05:00
Richard Kenner
6c164c81ed (ptr_mode): Add declaration.
From-SVN: r8547
1994-11-22 06:27:59 -05:00
Richard Kenner
b81cdf54f6 (output_constant): When eliminating conversions, treat ARRAY_TYPE like
a record.

From-SVN: r8546
1994-11-21 22:21:24 -05:00
Richard Kenner
ac7400c632 (movqi): Fix typo in push/pop case.
From-SVN: r8545
1994-11-21 18:41:30 -05:00