Commit Graph

3648 Commits

Author SHA1 Message Date
Richard Kenner 6076248a1e (simplify_binary_operation): Move integer CONST_DOUBLE folding out of REAL_IS_NOT_DOUBLE conditional.
(simplify_binary_operation): Move integer CONST_DOUBLE folding out of
REAL_IS_NOT_DOUBLE conditional.
(simplify_relational_operation): Put float CONST_DOUBLE folding under a
REAL_IS_NOT_DOUBLE conditional.
Add folding for integer CONST_DOUBLE comparisons.

From-SVN: r3661
1993-03-05 17:52:35 -05:00
Richard Kenner 02a10449e3 (fixup_var_refs_insns): If SMALL_REGISTER_CLASSES...
(fixup_var_refs_insns): If SMALL_REGISTER_CLASSES, ensure we don't put
any insns between the setting of the function return register and it's use.

From-SVN: r3660
1993-03-05 17:37:11 -05:00
Jeff Law c2ae03cb30 pa.h (FIXED_REGISTERS): %r2 is no longer fixed.
* pa.h (FIXED_REGISTERS): %r2 is no longer fixed.
        (REG_ALLOC_ORDER): Treat %r2 as a caller-saved allocatable
        register.  %r30 is fixed and therefore a "special" register.
        %fr22-%fr31 are caller-saved, so allocate them before the
        callee-saved 1.1 fp registers.  Allocate fp registers before
        general registers.  Fix typo for register 79.

        * pa.h (FIRST_PSEUDO_REGISTER): Update to take into account
        registers which are no longer known to the compiler.
        (FIXED_REGISTERS): Likewise.
        (CALL_USED_REGISTERS): Likewise.
        (HARD_REGNO_NREGS): Likewise.
        (HARD_REGNO_MODE_OK): Likewise.
        (REGNO_REG_CLASS): Likewise.
        (FUNCTION_VALUE): Likewise.
        (LIBCALL_VALUE): Likewise.
        (FUNCTION_VALUE_REGNO_P): Likewise.
        (FUNCTION_ARG_REGNO_P): Likewise.
        (FUNCTION_ARG): Likewise.
        (REGNO_OK_FOR_FP_P): Likewise.
        (REGISTER_NAMES): Likewise.
        (REG_CLASS_CONTENTS): Likewise.  Add %r1 to GENERAL_OR_FP_REGS
        and GENERAL_OR_SNAKE_FP_REGS.
        (REG_ALLOC_ORDER): Likewise.  Document and make allocation order
        "regular" across 1.0 and 1.1 cpus.

From-SVN: r3659
1993-03-05 13:13:59 -07:00
Jeff Law 00b4e148ff pa.c (output_function_epilogue): Perform an early %r2 restore even if actual_fsize is zero.
* pa.c (output_function_epilogue): Perform an early %r2 restore
        even if actual_fsize is zero.  This can happen if %r2 is used
        as a temporary in a leaf function.

        * pa.c (compute_frame_size): Update to take into account
        register which are no longer known to the compiler.
        (output_function_prologue): Likewise.
        (output_function_epilogue): Likewise.
        (output_arg_descriptor): Likewise.

From-SVN: r3658
1993-03-05 13:13:08 -07:00
Jim Wilson a07c19158a (output_function_prologue, output_function_epilogue):
Add comments for frame_base_name usage in leaf_functions.

From-SVN: r3657
1993-03-05 09:51:48 -08:00
Jim Wilson 238a185624 Fix typo in comment.
From-SVN: r3656
1993-03-05 09:49:44 -08:00
Jim Wilson 1d23c208bd (main): Put argv[0] in collect_obstack instead of programname.
From-SVN: r3655
1993-03-05 09:47:54 -08:00
Jim Wilson 2d08d5b656 (note_mem_written): QImode varying structure memory accesses can alias scalars.
From-SVN: r3654
1993-03-05 09:45:15 -08:00
Richard Stallman 33d3e559c5 (init_emit_once): Initialize const_tiny_rtx for partial ints too.
From-SVN: r3653
1993-03-05 06:27:22 +00:00
Richard Stallman 6d142a10c8 (store_parm_decls,combine_parm_decls): Call layout_decl for a parm declared...
(store_parm_decls,combine_parm_decls): Call layout_decl
for a parm declared float when it is changed to double under a
traditional compilation.

From-SVN: r3652
1993-03-05 05:43:51 +00:00
Steve Chamberlain 502d58a60e (convert_to_pointer): Fix typo comparing size of integer and pointers.
From-SVN: r3651
1993-03-04 22:18:45 +00:00
Steve Chamberlain ab8ab9d05f (immed_double_const): Cope with MODE_PARTIAL_INT.
(output_constant_pool): Likewise.

From-SVN: r3650
1993-03-04 22:09:39 +00:00
Richard Stallman d33edda78e (handle_class_ref): Call assemble_external.
From-SVN: r3649
1993-03-04 21:20:14 +00:00
Richard Stallman 5c1b0892e8 (convert_to_complex): Declared.
From-SVN: r3648
1993-03-04 21:18:47 +00:00
Richard Stallman 54e7b5e6ef (emit_no_conflict_block): Don't move target to itself if that takes multiple insns.
(emit_no_conflict_block): Don't move target to itself
if that takes multiple insns.
(expand_binop): For complex mult and div, avoid fetching operand
components more than once from memory.

From-SVN: r3647
1993-03-04 20:37:02 +00:00
Richard Stallman b6a10c9fe1 (common_type): Handle complex types.
(lvalue_p): Handle REALPART_EXPR, IMAGPART_EXPR.
(build_binary_op, build_unary_op): Handle complex types.

From-SVN: r3646
1993-03-04 20:36:23 +00:00
Richard Stallman f0b996c50c (truthvalue_conversion): Fix handling of COMPLEX_EXPR.
Handle all complex values specially.

From-SVN: r3645
1993-03-04 20:34:56 +00:00
Richard Stallman a333b79fc5 (fold): Fix error in handling REALPART_EXPR and IMAGPART_EXPR.
From-SVN: r3644
1993-03-04 20:34:20 +00:00
Richard Stallman c100b4ef76 Add complex integer modes.
From-SVN: r3643
1993-03-04 19:43:38 +00:00
Richard Stallman 5ab10c42b3 (init_decl_processing): Create complex types.
(grokdeclarator): Handle complex keyword.
Distinguish int-by-default from int keyword.

From-SVN: r3642
1993-03-04 19:42:57 +00:00
Richard Stallman 74428a8ece Declare vars to hold complex types.
From-SVN: r3641
1993-03-04 19:42:36 +00:00
Richard Stallman c050422f1e (convert): Handle conversion to complex type.
From-SVN: r3640
1993-03-04 19:42:13 +00:00
Richard Stallman 0b1278213b (convert_to_real): Convert complex to real.
(convert_to_integer): Likewise.
(convert_to_complex): New function.

From-SVN: r3639
1993-03-04 19:41:50 +00:00
Richard Stallman 766f6c304d (truthvalue_conversion): Handle COMPLEX_EXPR.
From-SVN: r3638
1993-03-04 19:36:42 +00:00
Richard Stallman 1cc1b11a2e (fold): Handle complex constants as "winning".
Handle REALPART_EXPR and IMAGPART_EXPR.

From-SVN: r3637
1993-03-04 19:35:40 +00:00
Torbjorn Granlund 8365d59ba2 (output_ior): Don't handle reg operands.
From-SVN: r3636
1993-03-04 18:50:56 +00:00
Torbjorn Granlund d5db69224e (recognizer for general uaddcm): New pattern.
(iorsi3): New DEFINE_EXPAND.
(iorsi3 recognizer for [reg reg]): Now unnamed.
Put output template here, don't call output_ior.

From-SVN: r3635
1993-03-04 18:50:18 +00:00
Richard Stallman 47cc012b65 (dbxout_type): Handle complex integer types.
From-SVN: r3634
1993-03-04 18:47:42 +00:00
Richard Stallman 122026c09f (init_lex): Initialize rid pointers for complex.
(yylex): Handle i or j in numeric constant.

From-SVN: r3633
1993-03-04 18:34:10 +00:00
Steve Chamberlain cbd6e725d4 (h8300hds): Change hds to hms.
From-SVN: r3632
1993-03-04 18:10:15 +00:00
Steve Chamberlain 07aae5c24e New file.
From-SVN: r3631
1993-03-04 18:05:40 +00:00
Steve Chamberlain f82eca4d69 New File.
From-SVN: r3630
1993-03-04 18:02:42 +00:00
Richard Stallman 43517f90ee (RID_COMPLEX): New constant.
From-SVN: r3629
1993-03-04 17:59:30 +00:00
Richard Stallman 0c1261919d Add `__complex', `__complex__'.
Add `__iterator'.  Delete `iterator'.

From-SVN: r3628
1993-03-04 17:59:12 +00:00
Michael Meissner 1763b229fd Add missing \ before return inside string.
From-SVN: r3627
1993-03-04 15:39:20 +00:00
Michael Meissner b29e212cdd Add missing comma.
From-SVN: r3626
1993-03-04 15:32:55 +00:00
Richard Stallman 8e27715a9a (build_complex): Set the TREE_TYPE based on real part.
From-SVN: r3625
1993-03-03 21:25:11 +00:00
Per Bothner 742e43a2fa Define and use new function build_range_type.
From-SVN: r3624
1993-03-03 12:35:27 -08:00
Torbjorn Granlund c8d6697caa (lhs_lshift_operand): New function.
(lhs_lshift_cint_operand): New function.
(print_operand): Handle L and P for bit field instructions.

From-SVN: r3623
1993-03-03 14:48:17 +00:00
Torbjorn Granlund 95246213bd (ashlsi3): Use lhs_lshift_operand for operand 1.
Call gen_zvdep_imm when operand 1 is a CONST_INT.
(zvdep_imm): New pattern.
(ashift recognizer for [reg const_int]): Use %P and %L
output modifiers.
(ashiftrt recognizer for [reg const_int]): Likewise.
(lshrsi3): Likewise.
(rotrsi3): Reduce integer argument to 5 bits.
Remove some empty lines.

From-SVN: r3622
1993-03-03 14:47:15 +00:00
Torbjorn Granlund e150ae4fbe (pa_adjust_cost): Replace, the function of Mar 2 was an old version.
(output_fp_move_double): Use %r syntax for registers.

From-SVN: r3621
1993-03-03 14:38:13 +00:00
Richard Kenner d36d70cc52 (assemble_variable): Update comment.
From-SVN: r3620
1993-03-03 07:34:03 -05:00
Per Bothner b238f8def3 Define and use new function dbxout_range_type.
From-SVN: r3619
1993-03-02 22:46:43 -08:00
Per Bothner 442cb32d53 Clarify comment on INTEGER_TYPE.
From-SVN: r3618
1993-03-02 22:46:43 -08:00
Richard Stallman bd814d9779 (main): Use strlen, not sizeof, for our_file_name.
From-SVN: r3617
1993-03-03 04:43:37 +00:00
Richard Kenner 03407c7527 (collect_iterators): Handle simple expressions quickly.
Don't try to interpret operands that are RTL as if they were trees.

From-SVN: r3616
1993-03-02 19:01:48 -05:00
Richard Kenner be8dcd745f (regclass): Don't set REGNO_POINTER_FLAG here.
(reg_scan_mark_refs): Set it here.
Accept INSN, not UID as arg.
(reg_scan): Call reg_scan_mark_refs with INSN, not UID.

From-SVN: r3615
1993-03-02 18:59:33 -05:00
Richard Kenner 78c02237e2 Fix typo.
From-SVN: r3614
1993-03-02 18:57:59 -05:00
Jim Wilson dea2643ccd (write_const_num_delay_slots): Output 'rtx insn' not
'rtx *insn' for const_num_delay_slot argument.

From-SVN: r3613
1993-03-02 13:23:48 -08:00
Jim Wilson afcd8a020f (main): Truncate programname to what is after last slash.
From-SVN: r3612
1993-03-02 13:19:37 -08:00