Commit Graph

253 Commits

Author SHA1 Message Date
Richard Kenner
ba2e110c46 (convert_modes): Properly handle extending constants since we might be
changing signedness.

From-SVN: r5623
1993-10-05 22:17:52 -04:00
Richard Kenner
6bd6178de9 (bc_init_mode_to_opcode_maps, bc_expand_expr): Cast enum array indices to int.
(bc_load_memory, bc_store_memory): Likewise.
(bc_runtime_type_code): Cast enum logical operand to int.

From-SVN: r5592
1993-10-04 18:01:19 -04:00
Richard Kenner
b50d17a148 (store_expr): Use expr_size value, not size_int.
(store_constructor): Handle case of variable position and allow it to contain
a PLACEHOLDER_EXPR.
(get_inner_reference): Make a WITH_RECORD_EXPR if required.
(expand_expr, case PLACEHOLDER_EXPR, WITH_RECORD_EXPR): New cases.
(expand_expr, case ARRAY_REF): Make WITH_RECORD_EXPR expressions when needed.

From-SVN: r5584
1993-10-03 21:48:03 -04:00
Richard Kenner
0088fcb195 (expand_assignment, expand_expr, do_jumps): Push and pop temp slots
around making new temp slots and freeing them.

From-SVN: r5524
1993-09-28 21:26:23 -04:00
Jan Brittenson
de7d93205e (bc_expand_constructor): Delete cast of argument to bc_emit_instruction to HOST_WIDE_INT.
(bc_expand_constructor): Delete cast of argument to
bc_emit_instruction to HOST_WIDE_INT. Move assignment of ptroffs to
separate line.

From-SVN: r5487
1993-09-27 11:21:32 -07:00
Richard Stallman
673bc773d3 (expand_expr, case COND_EXPR): Set MEM_IN_STRUCT_P properly for TEMP.
From-SVN: r5481
1993-09-27 01:25:54 +00:00
Richard Kenner
ad92c8260e (do_store_flag): Use new macros LOAD_EXTEND_OP and WORD_REGISTER_OPERATION...
(do_store_flag): Use new macros LOAD_EXTEND_OP and
WORD_REGISTER_OPERATION instead of BYTE_LOADS_*_EXTEND and
LOAD_EXTEND.

From-SVN: r5474
1993-09-25 08:21:34 -04:00
Richard Stallman
eb862a3735 Fix typo in last change.
From-SVN: r5472
1993-09-25 12:15:25 +00:00
Jan Brittenson
e7a4277263 changed bytecode rtx structure references into macros
From-SVN: r5435
1993-09-23 10:08:13 -07:00
Richard Stallman
a97f5a864f (expand_increment): Don't store directly ito a subreg
that is narrower than a word.

From-SVN: r5433
1993-09-23 16:56:28 +00:00
Richard Stallman
a68c760860 (bc_adjust_stack): Use VALIDATE_STACK_FOR_BC, not VALIDATE_STACK.
From-SVN: r5421
1993-09-22 22:01:15 +00:00
Richard Stallman
5e70898cb4 (bc_strdup): Don't use strcpy's value.
From-SVN: r5414
1993-09-22 20:21:03 +00:00
Jan Brittenson
292b12167d fixed typo in bytecode code
From-SVN: r5404
1993-09-22 11:45:16 -07:00
Jan Brittenson
c02bd5d96e bytecode fixes
From-SVN: r5402
1993-09-22 11:33:20 -07:00
Jan Brittenson
ca695ac93d bytecode
From-SVN: r5379
1993-09-21 14:25:24 -07:00
Richard Stallman
2c4c436ae8 (expand_expr): Handle flag_volatile here.
From-SVN: r5375
1993-09-20 21:24:17 +00:00
Richard Stallman
81d79e2c7a (convert_move): Use emit_library_call_value.
From-SVN: r5353
1993-09-18 13:28:10 +00:00
Richard Stallman
03dc44a614 (store_constructor): Handle TREE_PURPOSE of array constructor.
(expand_expr, ARRAY_REF case): Likewise.

From-SVN: r5315
1993-09-13 20:16:51 +00:00
Per Bothner
d4c8913966 (expand_expr, ARRAY_REF): Coerce low_bound to sizetype.
From-SVN: r5313
1993-09-12 23:01:37 -07:00
Richard Stallman
3f15938e00 (protect_from_queue): Don't alter an existing MEM.
(convert_modes): Use X's mode (not OLDMODE) unless it is VOIDmode.

From-SVN: r5311
1993-09-12 13:19:38 +00:00
Richard Stallman
5ffe63ed99 (convert_modes): New function.
(convert_to_mode): Use that.

From-SVN: r5297
1993-09-09 19:51:59 +00:00
Richard Stallman
4d87de75c5 (expand_expr): Set ignore for COND_EXPR with VOID_TYPE.
From-SVN: r5293
1993-09-09 13:49:54 +00:00
Jim Wilson
431a6ecab3 (convert_move): When truncating, call force_reg first if
it is something that gen_lowpart won't understand.

From-SVN: r5287
1993-09-08 11:58:14 -07:00
Richard Kenner
904762c89e (apply_args_egister_offset): Don't use ANSI-style definition.
From-SVN: r5214
1993-08-26 05:58:46 -04:00
Kresten Krab Thorup
fb2ca25a9d (apply_args_register_offset): New function
(apply_args_register_offset): New function
(apply_args_register_offset): New function
(apply_args_reg_offset): New variable
(apply_args_size): Added initialization of apply_args_reg_offset.

From-SVN: r5198
1993-08-24 09:53:21 +00:00
Jeff Law
b4af138b01 * expr.c (expand_builtin_apply): Fix typo.
From-SVN: r5191
1993-08-22 21:37:09 -06:00
Richard Kenner
34a25822f3 (expand_expr, case SAVE_EXPR): Set MEM_IN_STRUCT_P appropriately when
the result is a MEM.

From-SVN: r5159
1993-08-13 19:26:34 -04:00
Richard Stallman
7d26fec6ad (store_expr): Don't return TEMP if it's a MEM.
From-SVN: r5139
1993-08-12 08:06:01 +00:00
Jim Wilson
591b15bb1c (expand_increment): Call save_expr on inner expression if
it is itself an increment expression.

From-SVN: r5115
1993-08-08 15:48:15 -07:00
Richard Stallman
709f5be119 (expand_assignment): If WANT_VALUE is 0, return NULL.
(store_expr): Likewise.
Rename arg SUGGEST_REG to WANT_VALUE.
Never return TARGET if WANT_VALUE unless BLKmode.
Instead, return TEMP or a value copied from TARGET.
Pass 0 for WANT_VALUE in recursive calls that ignore value.

(expand_expr, case PLUS_EXPR): Goto binop2 not
both_summands if we should not be returning a plus.

(do_tablejump) [PIC_CASE_VECTOR_ADDRESS]: If pic,
copy INDEX to a register early, to avoid invalid address later.

From-SVN: r5108
1993-08-08 18:54:00 +00:00
Richard Stallman
19b2fd27ea (do_tablejump): Use PIC_CASE_VECTOR_ADDRESS if defined.
From-SVN: r5050
1993-08-01 20:11:48 +00:00
Richard Stallman
b6f01001b1 (expand_expr, case ADDR_EXPR): Treat CONCAT like REG.
From-SVN: r5030
1993-07-28 18:46:31 +00:00
Jim Wilson
0040593d86 (move_block_from_reg): New argument SIZE.
(move_block_from_reg): New argument SIZE.  If SIZE less
than word and BYTES_BIG_ENDIAN, shift block left to align it
before storing it to memory.

From-SVN: r5014
1993-07-28 10:13:53 -07:00
Richard Stallman
c937357e3a (emit_move_insn_1): For complex stack push, don't use change_address.
From-SVN: r4983
1993-07-24 22:20:55 +00:00
Jim Wilson
092dded9eb (expand_expr, COMPONENT_REF case): For unaligned object
in an aligned union, set MEM_IN_STRUCT_P if create a MEM rtx.

From-SVN: r4964
1993-07-21 15:05:43 -07:00
Richard Stallman
a358cee0e5 (expand_increment): Convert constant subtract to add before setting single_insn.
(expand_increment): Convert constant subtract to add
before setting single_insn.  Compensate for this when choosing
the tree code to pass to `build'.

From-SVN: r4944
1993-07-20 06:23:58 +00:00
Jim Wilson
d57c66daa6 (convert_to_mode): Move misplaced parentheses.
From-SVN: r4878
1993-07-07 15:04:52 -07:00
Richard Stallman
ccc9803602 (store_field): Test STRICT_ALIGNMENT at run time.
(expand_expr, COMPONENT_REF case): Fetch unaligned field as bitfield.

From-SVN: r4841
1993-07-05 03:31:42 +00:00
Richard Stallman
c980ac4985 (expand_expr...
(expand_expr, case PLUS_EXPR): In the special case
to return sym+integer as an expression, limit it to when
the non-CONST_INT arg is at least a constant.

(expand_increment): Do preinc with single insn if there's such an insn.

(store_field): Store unaligned field with bit field methods.

From-SVN: r4810
1993-07-01 05:17:45 +00:00
Richard Kenner
e44842fede (store_constructor): Treat QUAL_UNION_TYPE just like UNION_TYPE.
(safe_from_p, case ADDR_EXPR): EXP is safe from X it is is static or if the
object whose address is being taken is safe from X.
(expand_expr): Fix misplaced comment from last change.
(expand_expr, case *_DECL): If not already used, assemble external.
(expand_expr, case EXIT_EXPR): Simplify.
(expand_expr, TRUTH_{AND,OR}IF_EXPR): Properly handle IGNORE case.

From-SVN: r4772
1993-06-27 18:55:11 -04:00
Richard Kenner
3319a3472f Fix typo: was ARGS_GROW_DOWNARD.
From-SVN: r4767
1993-06-27 18:40:04 -04:00
Richard Stallman
cd1db1088e (expand_assignment): If FROM is scalar function call,
expand_expr FROM before TO.

From-SVN: r4759
1993-06-26 20:45:13 +00:00
Richard Kenner
af508edd0a (do_store_flag): When computing via a shift, allow for an inner RSHIFT_EXPR in BITNUM.
(do_store_flag): When computing via a shift, allow for an inner RSHIFT_EXPR
in BITNUM.
Sometimes do the operations as signed.

From-SVN: r4747
1993-06-26 11:06:01 -04:00
Richard Stallman
c2e6aff601 (store_expr): If TARGET is volatile mem ref, return it.
From-SVN: r4730
1993-06-25 18:14:35 +00:00
Richard Kenner
dd27116b8f (expand_expr): Set IGNORE if target is const0_rtx or result type is VOID.
Move most IGNORE processing to one place to avoid expanding things that don't
need to be expanded.
(expand_expr, case CONSTRUCTOR, case COND_EXPR): If IGNORE, don't expand
anything we don't have to.
(expand_expr, case CONVERT_EXPR): Don't deal with IGNORE here.

From-SVN: r4714
1993-06-23 07:50:02 -04:00
Richard Stallman
2937cf8796 (expand_expr, case COND_EXPR): Fix typo; const1_rtx should
be const0_rtx when ignoring expression.

From-SVN: r4674
1993-06-13 18:15:58 +00:00
Richard Stallman
8c042b47af (expand_expr): Finish Tue Aug 18 23:07:33 1992 change.
(expand_expr): Finish Tue Aug 18 23:07:33 1992 change.  It
didn't handle the target != 0 case, now it does.

From-SVN: r4561
1993-05-24 19:26:25 +00:00
Richard Kenner
4be204f02d (expand_assignment): Fix error in last change.
From-SVN: r4476
1993-05-15 16:11:06 -04:00
Richard Stallman
d3652c4b7f (expand_assignment): Always return a result that has the mode of TO.
From-SVN: r4468
1993-05-15 13:59:45 +00:00
Richard Kenner
2abec1b739 (convert_move): Make copy of operands for REG_EQUAL note to avoid sharing RTL if called later than RTL generation...
(convert_move): Make copy of operands for REG_EQUAL note to avoid
sharing RTL if called later than RTL generation, though probably not
called after RTL generation.

From-SVN: r4339
1993-05-05 14:37:24 -04:00
Richard Kenner
f85b95d147 (emit_block_move): Cast to unsiged HOST_WIDE_INT instead of unsigned int.
From-SVN: r4260
1993-04-28 14:57:49 -04:00
Richard Kenner
da120c2f90 (expand_expr...
(expand_expr, case OFFSET_REF): Avoid using build_{unary,binary}_op
since the calling sequences depend on the front-end.

From-SVN: r4195
1993-04-23 06:56:05 -04:00
Richard Kenner
1c6bc81741 Edit comment.
From-SVN: r4136
1993-04-13 17:07:22 -04:00
Richard Kenner
e7f3c83f0e Treat QUAL_UNION_TYPE like UNION_TYPE when seeing if aggregate.
(get_inner_reference): Don't blow up if a FIELD_DECL hasn't been
filled in.
(expand_expr, case COMPONENT_REF): Likewise.

From-SVN: r4117
1993-04-13 06:45:11 -04:00
Richard Kenner
5bf6e3bd1e (do_store_flag, case GT_EXPR, LE_EXPR): Don't confuse highest unsigned
value with -1.

From-SVN: r4049
1993-04-08 21:38:46 -04:00
Richard Kenner
ff78f7732c (expand_expr, case SAVE_EXPR): Pass promoted type to store_expr.
From-SVN: r4022
1993-04-05 06:57:19 -04:00
Richard Stallman
597bb7f10b (store_constructor): Properly compute size of array when
clearing the whole array.

From-SVN: r4021
1993-04-05 10:55:34 +00:00
Richard Kenner
c03b7665c2 (store_expr): Call size_binop instead of doing the same thing with
fold and build.

From-SVN: r3993
1993-04-03 17:37:45 -05:00
Richard Kenner
26ba80fc72 (emit_push_insn, expand_assignment): Fix typo in last change.
From-SVN: r3985
1993-04-01 07:27:57 -05:00
Richard Kenner
896102d0c6 (expand_expr, case ADDR_EXPR): Allow taking the address of any object;
used in call-by-reference situations.

From-SVN: r3970
1993-03-31 16:06:33 -05:00
Richard Kenner
0fa83258de (emit_block_move, emit_push_insn, expand_assignment): Size passed to
memcpy/bcopy is SIZETYPE, not Pmode.

From-SVN: r3966
1993-03-31 16:01:17 -05:00
Richard Kenner
e6677db3fd (movstr_optab): No longer static.
(init_expr_once): Don't initialize movstr_optab.

From-SVN: r3923
1993-03-30 15:28:12 -05:00
Richard Stallman
f81497d905 (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.

From-SVN: r3909
1993-03-29 08:23:24 +00:00
Richard Stallman
f2878c6b32 (expand_expr): For COMPONENT_REF, don't force_reg op0 if it is BLKmode.
From-SVN: r3905
1993-03-28 23:55:45 +00:00
Tom Wood
dcf76ffff5 Move misapplied patch
From-SVN: r3852
1993-03-23 13:57:14 +00:00
Richard Kenner
5e2869e6b4 Don't include gvarargs.h.
(emit_library_call, emit_library_call_value): Delete from here.

From-SVN: r3849
1993-03-23 08:10:05 -05:00
Tom Wood
0006469db8 (expand_builtin...
(expand_builtin, BUILT_IN_SAVEREGS): Use these to put the
	code at the start of the function, even when inside a sequence.

	(apply_args_value): New variable.
	(init_expr, save_expr_status, restore_expr_status): Initialize,
	save, and restore apply_args_value.
	(expand_builtin): Implement new built-in functions.
	(apply_args_mode, apply_result_mode): New variables.
	(apply_args_size, apply_result_size, result_vector,
	expand_builtin_apply_args, expand_builtin_apply,
	expand_builtin_return): New functions.
	(INCOMING_REGNO, OUTGOING_REGNO): Supply default definitions.

From-SVN: r3845
1993-03-23 12:55:43 +00:00
Richard Kenner
742920c7bd (get_inner_reference): Simplify code by initializing OFFSET to integer_zero_node.
(get_inner_reference): Simplify code by initializing OFFSET to
integer_zero_node.
Do general index computation for ARRAY_REF and include lower bound of domain
in calculation.
(expand_expr, case ARRAY_REF): Include lower-bound in index computation.

From-SVN: r3808
1993-03-20 20:51:52 -05:00
Richard Stallman
665381933b (expand_assignment): Pass to_rtx's mode to expand_expr when assigning a result_decl.
(expand_assignment): Pass to_rtx's mode to expand_expr
when assigning a result_decl.
(expand_expr): For ERROR_MARK, give back 0 in TMODE if possible.

From-SVN: r3784
1993-03-19 08:42:28 +00:00
Richard Stallman
3e3f565813 (expand_expr): Don't ensure ref to a volatile value if it is a function.
From-SVN: r3781
1993-03-18 21:34:51 +00:00
Richard Kenner
bbc8a07104 Correctly define PUSH_ARGS_REVERSED.
From-SVN: r3728
1993-03-13 18:13:22 -05:00
Richard Kenner
4969d05d19 Add prototypes for static functions.
(struct move_by_pieces): Move definition before function forward decls.

From-SVN: r3725
1993-03-12 22:06:14 -05:00
Richard Stallman
c841050eed (emit_push_insn): Handle failure of gen_movstr...
From-SVN: r3721
1993-03-12 23:07:38 +00:00
Richard Stallman
86d38d25ba (expand_assignment): Special handling for storing in RESULT_DECL.
From-SVN: r3663
1993-03-06 00:48:19 +00:00
Jim Wilson
46b68a3769 (expand_builtin, BUILT_IN_FRAME_ADDRESS case): Use new
macros SETUP_FRAME_ADDRESSES and RETURN_ADDR_IN_PREVIOUS_FRAME.

From-SVN: r3609
1993-03-02 13:10:49 -08:00
Richard Stallman
d3c64ee3f3 (convert_move): Truncate via word_mode only if to_mode fits in one word.
Truncate by referring in TO_MODE for any FROM, but force_reg if nec.

From-SVN: r3553
1993-02-27 19:04:24 +00:00
Richard Kenner
17938e5781 (expand_expr, case IN_EXPR): Fix numerous small bugs and make some
cleanups.

From-SVN: r3541
1993-02-26 15:11:24 -05:00
Richard Stallman
d6af3b06f1 (emit_library_call_value): Fix bug in prev change.
From-SVN: r3528
1993-02-25 06:20:24 +00:00
Richard Stallman
e010155c90 (emit_library_call_value): Really pass mem value address
to the library function.

From-SVN: r3511
1993-02-22 01:23:03 +00:00
Richard Stallman
261c4230db (emit_move_insn_1): New subroutine cut from emit_move_insn.
(emit_move_insn): Use that.

From-SVN: r3505
1993-02-21 06:51:34 +00:00
Richard Stallman
9937da1a0c (expand_builtin): Move memory_address calls
out of arglist of emit_block_move.

From-SVN: r3460
1993-02-11 08:56:16 +00:00
Richard Kenner
cd04883188 (emit_push_insn): If REG is zero, don't set regs here.
From-SVN: r3439
1993-02-08 05:49:27 -05:00
Richard Stallman
4e7c9a2248 (emit_library_call, emit_library_call_value):
Handle STACK_BOUNDARY when using push insns.

From-SVN: r3420
1993-02-03 23:26:51 +00:00
Richard Stallman
42b85a5532 (expand_builtin): Report overflow if __builtin_args_info arg exceeds one word.
(expand_builtin): Report overflow if __builtin_args_info
arg exceeds one word.
Fix punctuation of error messages.

From-SVN: r3400
1993-02-02 04:26:15 +00:00
Richard Kenner
bf743ac5ed (compare_from_rtx): Only swap operand if first is a constant and
second is not.

From-SVN: r3370
1993-01-27 19:22:17 -05:00
Richard Kenner
8207ec0452 (emit_library_call): Correct mis-applied patch.
From-SVN: r3300
1993-01-22 07:56:45 -05:00
Jim Wilson
428e0ca8c8 (emit_library_call): Handle OUTGOING_REG_PARM_STACK_SPACE.
Use NULL_TREE instead of (tree) 0.

From-SVN: r3268
1993-01-18 10:55:02 -08:00
Jim Wilson
89742723e5 (emit_move_insn, expand_expr): Fix typos in comments.
From-SVN: r3267
1993-01-18 10:52:38 -08:00
Jim Wilson
b4c65118c4 (do_tablejump): Pass 1 for unsigned flag to emit_cmp_insn.
From-SVN: r3233
1993-01-14 11:16:40 -08:00
Richard Stallman
ca300798ae (expand_increment): Handle all preincrements by building
arithmetic and calling expand_assignment.

From-SVN: r3222
1993-01-13 12:07:28 +00:00
Brendan Kehoe
f76a70d580 * expr.c (group_insns): Make void, since it never returns an rtx.
From-SVN: r3211
1993-01-12 18:30:32 -05:00
Richard Kenner
a7c5971afb (compare_from_rtx): Allow simplify_relational_operation to fail.
From-SVN: r3204
1993-01-12 17:47:54 -05:00
Paul Eggert
8008b22801 # Fix misspellings in comments.
From-SVN: r3181
1993-01-10 20:12:31 +00:00
Richard Stallman
b424402e93 (convert_move): Added code to support new modes QFmode and HFmode.
From-SVN: r3133
1993-01-07 00:05:59 +00:00
Jim Wilson
8eef5f77c5 (emit_library_call): Pass NULL_TREE to INIT_CUMULATIVE_ARGS.
From-SVN: r3106
1993-01-05 18:58:54 -08:00
Richard Kenner
874726a826 (expand_expr, case TRUTH_XOR_EXPR): New case.
From-SVN: r2992
1992-12-30 06:01:05 -05:00
Richard Stallman
12342f9055 (expand_expr): In NOP_EXPR case, truncate and reextend integer constants.
From-SVN: r2987
1992-12-30 07:08:14 +00:00
Richard Kenner
f94cc92f8c (get_inner_reference): Don't look at flag_volatile.
(expand_expr, case INDIRECT_REF, OFFSET_REF): Likewise.

From-SVN: r2973
1992-12-28 06:09:13 -05:00
Richard Stallman
3b94d087e8 (expand_expr, constructor case): If we made a stack slot,
set MEM_IN_STRUCT_P if the type warrants it.

From-SVN: r2921
1992-12-27 08:08:17 +00:00
Richard Stallman
e254999710 (init_expr_once): Try indexing mem by fp as well as sp.
From-SVN: r2760
1992-11-20 19:02:25 +00:00
Richard Stallman
7a1ab50acd (emit_move_insn): Do return a value, in complex case.
From-SVN: r2712
1992-11-07 20:30:00 +00:00
Richard Stallman
87e38d8422 (gen_push_operand): No longer static.
From-SVN: r2603
1992-10-25 22:22:00 +00:00
Richard Kenner
d39985fabf (do_store_flag): Ensure we don't get confused when emit_store_flag
fails and an operand has a QUEUED.

From-SVN: r2540
1992-10-21 07:33:55 -04:00
Richard Kenner
c45a13a68d (force_operand): Clarify comment to say what it can return.
From-SVN: r2526
1992-10-20 06:49:30 -04:00
Richard Stallman
86a2c12a2b (store_field): If trying to sign-extend a constant, use value_mode as
the mode.

From-SVN: r2525
1992-10-20 10:47:23 +00:00
Richard Stallman
9074de27ac (store_field): Typo in last change.
From-SVN: r2510
1992-10-18 19:13:01 +00:00
Richard Stallman
5c4d7cfb47 (store_field): If signed bitfield and want value, sign extend.
From-SVN: r2504
1992-10-18 05:09:47 +00:00
Richard Stallman
037080855f (get_inner_reference): If flag_volatile, treat every INDIRECT_REF as volatile.
From-SVN: r2499
1992-10-17 07:23:29 +00:00
Richard Stallman
2d7050fdca (expand_expr): Use gen_realpart, gen_imagpart.
(expand_expr): For ABS_EXPR, give expand_unop the operand's mode.
(expand_expr): For REALPART_EXPR, IMAGPART_EXPR, just return that part.

From-SVN: r2322
1992-10-05 06:30:54 +00:00
Richard Kenner
1499e0a89f (convert_move, convert_to_mode): Strip off a SUBREG made for variables with promoted modes.
(convert_move, convert_to_mode): Strip off a SUBREG made for variables with
promoted modes.
(store_expr): Store into variables with promoted modes by doing the
appropriate extension operation.
(expand_expr, case VAR_DECL): Generate SUBREGs for promoted objects.
(expand_expr, case SAVE_EXPR): Likewise for SAVE_EXPRs.
(expand_increment): Handle increment of promoted objects.

From-SVN: r2174
1992-09-19 15:45:55 -04:00
Richard Stallman
7308a047ab (expand_expr): Support IN_EXPR.
(init_expr_once): Don't try HARD_REGNO_MODE_OK on VOIDmode or BLKmode.
(emit_move_insn): When moving word by word,
  mark the whole thing as a libcall block.
(group_insns): New function.
(expand_expr): Implement COMPLEX_EXPR, REALPART_EXPR, IMAGPART_EXPR, CONJ_EXPR.

From-SVN: r2082
1992-09-09 06:38:59 +00:00
Richard Kenner
803090c427 (emit_library_call): Pass correct number of args to convert_to_mode.
(emit_block_move): Eliminate unnecessary test against HOST_BITS_PER_WIDE_INT.

From-SVN: r1994
1992-08-29 22:38:56 -04:00
James Van Artsdalen
1bbddf1116 (expand_builtin): Add sin and cos as built-in functions.c
From-SVN: r1983
1992-08-28 01:49:35 +00:00
Richard Stallman
1ba1e2a808 (emit_block_move): When trying movstrMM, cvt size to mode MM.
From-SVN: r1975
1992-08-27 22:54:40 +00:00
Jim Wilson
d562e42ef4 Partially undo Mar 7 change.
Partially undo Mar 7 change.  Only call
emit_library_call with no_queue == 1 for const functions.

From-SVN: r1961
1992-08-25 23:30:34 -07:00
Richard Stallman
2df53c0b9b (expand_expr): For BIND_EXPR, call insert_block on the block.
From-SVN: r1960
1992-08-26 06:05:46 +00:00
Richard Kenner
e6fe56a424 (init_expr_once): Set direct_load and direct_store if SOME hard register can be loaded or stored...
(init_expr_once): Set direct_load and direct_store if SOME hard
register can be loaded or stored; not just if the first one we pick
can be.

From-SVN: r1910
1992-08-20 08:36:23 -04:00
Mike Stump
5c06281655 expr.c (expand_expr): The first expansion of a TARGET_EXPR is marked by DECL_RTL (slot) being filled...
* expr.c (expand_expr): The first expansion of a TARGET_EXPR
        is marked by DECL_RTL (slot) being filled in AND TREE_OPERAND
        (exp, 1) being wiped-out with a NULL_TREE, not just the
        DECL_RTL (slot) being filled in.

From-SVN: r1893
1992-08-19 06:17:27 +00:00
Mike Stump
ac993f4f60 expr.c (expand_expr): When expanding TARGET_EXPRs...
* expr.c (expand_expr): When expanding TARGET_EXPRs, make sure
        that they are only expanded once, after the first expansion,
        the rtl can be used without further expansions.

From-SVN: r1890
1992-08-19 01:33:35 +00:00
Richard Kenner
0bba3f6fb7 (expand_expr, case COMPONENT_REF): Don't actually do extraction from
memory if we want address.

(emit_block_move): Fix problems in last change.

From-SVN: r1873
1992-08-17 07:37:25 -04:00
Richard Kenner
cd1b4b4474 (convert_move): Copy SUBREG to REG in one more case.
(do_jump*): Always do comparison in object's signedness now that
combine can remove extraneous sign extends.

From-SVN: r1858
1992-08-15 06:36:00 -04:00
Richard Kenner
266007a7d6 (movstr_optab): New variable.
(init_expr_once): Initialize it.
(emit_block_move): Rework code that generates movstrxx insns to check
predicates and use an optab.

From-SVN: r1827
1992-08-14 07:40:16 -04:00
Richard Kenner
cda0ec81ab (expand_builtin, case BUILT_INT_CONSTANT_P): Add missing call to
TREE_CODE.

From-SVN: r1745
1992-08-02 21:32:38 -04:00
Richard Kenner
3dc4195c6a (convert_move): Put FROM into a register if it is a SUBREG.
From-SVN: r1732
1992-07-31 08:15:14 -04:00
Richard Stallman
26fcb35ae2 (expand_expr, NOP_EXPR case): If EXPAND_INITIALIZER,
generate ZERO_EXTEND or SIGN_EXTEND; don't emit insns.

(expand_expr): Set LABEL_REF_NONLOCAL_P for nonlocal labels.

From-SVN: r1636
1992-07-20 02:45:03 +00:00
Richard Stallman
5d901c3182 (convert_move): Don't call protect_from_queue.
(emit_block_move): Protect SIZE.

From-SVN: r1607
1992-07-17 04:24:58 +00:00
Richard Stallman
60bac6ea52 (expand_builtin): For fsqrt, always use the special insn, then test for nan.
In case of nan, set errno directly or call the library function.

From-SVN: r1586
1992-07-14 03:38:36 +00:00
Richard Stallman
81feeecbd9 entered into RCS
From-SVN: r1567
1992-07-12 02:49:37 +00:00
Charles Hannum
d964285ca2 *** empty log message ***
From-SVN: r1533
1992-07-08 23:16:28 +00:00
Richard Stallman
a4320483fb *** empty log message ***
From-SVN: r1498
1992-07-07 18:03:56 +00:00
Richard Kenner
906c4e36c6 *** empty log message ***
From-SVN: r1473
1992-07-06 16:04:13 -04:00
Richard Kenner
4fa52007bf *** empty log message ***
From-SVN: r1320
1992-06-28 07:20:11 -04:00
Richard Stallman
f32fd77815 *** empty log message ***
From-SVN: r1298
1992-06-26 12:46:40 +00:00
Richard Kenner
08af8e094f *** empty log message ***
From-SVN: r1279
1992-06-24 19:14:43 -04:00
Richard Kenner
5a2724d73a *** empty log message ***
From-SVN: r1243
1992-06-23 06:19:36 -04:00
Jim Wilson
b092b4717c *** empty log message ***
From-SVN: r1237
1992-06-22 17:28:39 -07:00
Richard Kenner
77fa0940a0 *** empty log message ***
From-SVN: r1223
1992-06-20 06:51:46 -04:00
Tom Wood
c1f7c22310 *** empty log message ***
From-SVN: r1206
1992-06-18 14:34:15 +00:00
Richard Stallman
db0e6d01ad *** empty log message ***
From-SVN: r1147
1992-06-03 19:42:57 +00:00
Richard Stallman
19deaec942 *** empty log message ***
From-SVN: r1123
1992-05-29 18:46:01 +00:00
Richard Stallman
94a5807610 *** empty log message ***
From-SVN: r967
1992-05-13 03:44:28 +00:00
Richard Stallman
7bb0943f9c *** empty log message ***
From-SVN: r953
1992-05-10 16:23:27 +00:00
Richard Stallman
6dc42e49d3 *** empty log message ***
From-SVN: r930
1992-05-07 06:41:23 +00:00
Jim Wilson
6f90e075cd *** empty log message ***
From-SVN: r905
1992-05-05 10:27:49 -07:00
Richard Stallman
4d613828c5 *** empty log message ***
From-SVN: r875
1992-05-04 01:23:58 +00:00
Richard Stallman
88d3b7f03d *** empty log message ***
From-SVN: r835
1992-04-26 01:53:32 +00:00
Richard Stallman
b552441bd8 *** empty log message ***
From-SVN: r805
1992-04-20 15:17:50 +00:00
Richard Stallman
8129842c7b *** empty log message ***
From-SVN: r772
1992-04-18 01:03:55 +00:00
James Van Artsdalen
4af3895e73 *** empty log message ***
From-SVN: r731
1992-04-12 21:47:29 +00:00
Jim Wilson
8c8a8e34f4 *** empty log message ***
From-SVN: r696
1992-04-06 11:29:05 -07:00