Commit Graph

11546 Commits

Author SHA1 Message Date
Doug Evans ed24b9f265 Initial revision
From-SVN: r11787
1996-04-15 17:43:05 +00:00
Richard Kenner f47c02fa79 (invalidate_skipped_set): Ignore CLOBBER after calling
note_mem_written, not before.

From-SVN: r11786
1996-04-15 08:49:02 -04:00
Richard Kenner b757e35281 (notice_update_cc, case ASHIFT{,RT}, LSHIFTRT, ROTATE{,RT}): Don't set
CC_NO_OVERFLOW.

From-SVN: r11785
1996-04-15 08:21:56 -04:00
Richard Kenner ca366d6857 (TARGET_SWITCHES): Fix typo in "c68000" entry.
From-SVN: r11784
1996-04-15 08:21:33 -04:00
Richard Kenner 935fb2880c (tstdi): Optimized for "d" case.
(movqi): Allow moving "i" into "a".
(zero_extendsidi2): Alternatives merged.
(extendplussidi): Fixed when operands 0 and 1 share a register.
(adddi_sexthishl32): Constraints reordered for better reload.
(adddi3,subdi_sexthishl32,subdi3,negdi2): Likewise.
(ashldi_sexthi): Accept "m" as operand 0.
(ashldi_const32): Alternatives merged.
(ashift patterns): Output "lsl" instead of "asl".
(beq0_di): If condition codes already set, output only branch insn.
(bne0_di,bge0_di,blt0_di): Likewise.

From-SVN: r11783
1996-04-15 08:21:03 -04:00
Richard Kenner 2dedbe1f31 (eadd1): Check for overflow on X plus X.
From-SVN: r11782
1996-04-15 08:06:07 -04:00
Richard Kenner bde304768e (HAVE_SYSV_PRAGMA): Removed definition.
From-SVN: r11781
1996-04-15 08:02:21 -04:00
Richard Kenner f31a472fb6 (HAVE_SYSV_PRAGMA): Define.
(SET_ASM_OP): Define.

From-SVN: r11780
1996-04-15 08:01:51 -04:00
Richard Kenner 0dc09c0fe2 (bc_expand_increment): Change declaration to return void.
From-SVN: r11779
1996-04-15 07:52:17 -04:00
Richard Kenner b55f96db06 (find_dead_or_set_registers): Only kill spill regs after label made
before jump2.

From-SVN: r11778
1996-04-15 07:46:28 -04:00
Richard Kenner bf8b4985ab (max_label_num_after_reload): New variable.
(rest_of_compilation): Set it.

From-SVN: r11777
1996-04-15 07:46:02 -04:00
Richard Kenner 63eac4d485 (CC): Pass -b $(host), not target.
From-SVN: r11776
1996-04-15 07:28:50 -04:00
Richard Kenner 4d9cfc7b05 (expand_field_assignment): Take SUBREG_WORD into account when have STRICT_LOW_PART.
(expand_field_assignment): Take SUBREG_WORD into account when have
STRICT_LOW_PART.
(make_extraction): Make a STRICT_LOW_PART at any low-order word.

From-SVN: r11775
1996-04-15 05:12:16 -04:00
Jeff Law cf4403481d flags.h (flag_function_sections): Declare.
* flags.h (flag_function_sections): Declare.
        * toplev.c (flag_function_sections): Define.
        (compile_file): Add warnings when -ffunction-sections is
        used with -g, or profiling.  Disable -ffunction-sections
        when profiling is used.  Add warning when -ffunction-sections
        is used on a target that doesn't support it.
        * varasm.c (named_section): Make a copy of the section name
        in case the original is in temporary storage.
        (function_section): Set DECL_SECTION_NAME for each function
        if flag_function_sections is on and the target supports it.
        * dbxout.c (dbxout_function_end): New function.
        (dbxout_function): Call dbxout_function_end if using extensions
        and flag_function_sections is on.
        * sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Prefix a function
        section's name with ".text%" when -ffunction-sections.

From-SVN: r11774
1996-04-15 01:46:10 -06:00
Richard Kenner 7ca919b759 (try_combine): When substituting in output of I2, ensure dest isn't
clobbered in I2.

From-SVN: r11773
1996-04-14 20:42:14 -04:00
Doug Evans c2d12c8b86 (main): Delete redundant test for -p used with -fbytecode.
From-SVN: r11772
1996-04-14 23:37:25 +00:00
Richard Kenner f500253d32 (finish_enum): Don't crash if no type can represent all enumeration values.
From-SVN: r11771
1996-04-14 19:01:38 -04:00
Richard Kenner 4ea62d1a1e (ftruncdf2): Enable for m68060 systems.
From-SVN: r11770
1996-04-14 18:56:28 -04:00
Richard Kenner 3c46fbf6bf (expand_end_case): Move conversion of case_list before
check_for_full_enumeration_handling.

From-SVN: r11769
1996-04-14 18:52:47 -04:00
Richard Kenner 700ad580a6 (range_test): Don't convert hi_cst or lo_cst to unsigned when folding
signed range tests.

From-SVN: r11768
1996-04-14 18:49:18 -04:00
Richard Kenner 84c7be4b21 (real_value_from_int_cst): New arg, TYPE.
Pass mode to REAL_VALUE_FROM_INT.
(build_real_from_int_cst): Properly deal with truncation.

From-SVN: r11767
1996-04-14 08:56:17 -04:00
Richard Kenner 7cb6a121f2 (fold_convert): Add new arg to REAL_VALUE_FROM_INT.
From-SVN: r11766
1996-04-14 08:55:37 -04:00
Richard Kenner 2ebcccf3a3 (simplify_unary_operation): Add new arg to REAL_VALUE_FROM_INT.
From-SVN: r11765
1996-04-14 08:54:55 -04:00
Richard Kenner 7efc32fd16 (ereal_from_{int,uint}): Add new arg, MODE.
From-SVN: r11764
1996-04-14 08:54:19 -04:00
Richard Kenner 48e73d63cc (ereal_from_{int,uint}): New arg, MODE.
From-SVN: r11763
1996-04-14 08:53:43 -04:00
Richard Kenner 2dab894ad8 (combine_instructions): In initial scan of insns, handle a REG_INC note's affect on sign bit copies and nonzero bits.
(combine_instructions): In initial scan of insns, handle a REG_INC
note's affect on sign bit copies and nonzero bits.
(set_nonzero_bits_and_sign_copies): Treat a zero SET arg as a CLOBBER.

From-SVN: r11762
1996-04-14 08:20:54 -04:00
Richard Kenner f061780b03 (objc_skip_typespec): Don't abort for _C_UNDEF.
From-SVN: r11761
1996-04-14 07:52:23 -04:00
Doug Evans 0914718cc4 (TARGET_DEFAULT): Comment out TARGET_CPU_DEFAULT support for now.
(MULTLIB_DEFAULTS): Always little-endian for now.

From-SVN: r11760
1996-04-14 03:43:53 +00:00
Richard Kenner 6f469ce7f3 Initial revision
From-SVN: r11759
1996-04-13 20:35:30 -04:00
Richard Kenner e247ca2ac4 (CHECK_FLOAT_VALUE): Define.
(ASM_OUTPUT_FLOAT): Print the value in hex.

From-SVN: r11758
1996-04-13 20:18:03 -04:00
Richard Kenner a874dd182c (check_float_value): New function.
From-SVN: r11757
1996-04-13 20:16:55 -04:00
Doug Evans 89a2944c3b Initial revision
From-SVN: r11756
1996-04-13 19:07:47 +00:00
Doug Evans 31fdb4d52b arm.c (use_return_insn): Don't use return for naked functions.
* arm/arm.c (use_return_insn): Don't use return for naked functions.
	(arm_valid_machine_decl_attribute): New function.
	(arm_naked_function_p): New function.
	(output_func_prologue): Naked functions don't have prologues.
	(arm_expand_prologue): Likewise.
	(output_func_epilogue): Likewise with epilogues.

From-SVN: r11755
1996-04-13 19:05:54 +00:00
Jeff Law 17b706a687 h8300.c (adds_subs_operand): Fix thinko in last change.
* h8300/h8300.c (adds_subs_operand): Fix thinko in last change.

        * h8300/h8300.md (subhi3): Turn into a define_expand.
        (subhi3 using adds_subs): New pattern.
        (H8300 subhi): Derived from old subhi pattern.  Simplified.
        (H8300H subhi): Likewise.
        (subsi using adds_subs): New pattern.  Only used on H8300H.
        (subsi_h8300): Allow "a" registers as destination.
        (subsi_h8300h): Allow "a" registers as destination.  Simplify.

        * h8300/h8300.md (bcs_qiqi, bcs_hihi, bs_hiqi): Fix thinkos
        in last change.

From-SVN: r11754
1996-04-13 09:35:46 -06:00
Richard Kenner a3ec0d4b2d (ASM_DECLARE_FUNCTION_NAME): Don't write anything to asm file, because
everything is handled in FUNCTION_PROLOGUE.

From-SVN: r11753
1996-04-13 08:59:35 -04:00
Richard Kenner 9102cd1f9b (alpha_emit_set_const_1): Renamed from alpha_emit_set_const and static.
Remove change of Nov 26; again use normal mechanism for SImode.
(alpha_emit_set_const): New function.

From-SVN: r11752
1996-04-13 07:55:30 -04:00
Jeff Law 3b7d443c2c h8300.md: Add more comments about things which seem wrong...
* h8300.md: Add more comments about things which seem
        wrong, stupid, or just don't make any sense yet.

        * h8300.c (adds_subs_operand): New function.
        (output_adds_subs): New function.
        * h8300.md (addhi3): Turn into a define_expand.
        (addhi3 using adds_subs): New pattern.
        (H8300 addhi): Derived from old addhi pattern.  Simplified.
        (H8300H addhi): Likewise.
        (addsi using adds_subs): New pattern.  Only used on H8300H.
        (addsi_h8300): Allow "a" registers as destination.
        (addsi_h8300h):  Simplify.  Allow "a" registers as destination.

        * h8300.md (bcs): New attribute type.
        (default_length): Compute correct length for bcs insns.
        (bcs_qiqi, bcs_hihi, bs_hiqi): Use new type and update
        to account for correct length computation.

        * h8300.md (movhi_internal): Demand at least one operand to
        be a register.
        (movsi_h8300): Optimize loading certain constants.
        (movsi_h8300h): Likewise.

        * h8300.h (NO_FUNCTION_CSE): Comment out.
        (FUNCTION_ARG_REGNO_P): Properly define for TARGET_QUICKCALL.
        (RETURN_IN_MEMORY): Don't return small structs in regs.

From-SVN: r11751
1996-04-13 00:37:29 -06:00
Per Bothner 2ca96cdfeb config.guess: Combine two OSF1 rules.
* config.guess:  Combine two OSF1 rules.
Also recognize field test versions.  From mjr@zk3.dec.com.
* config.guess (dgux):  Use /usr/bin/uname rather than uname,
because GNU uname does not support -p.  From pmr@pajato.com.

From-SVN: r11712
1996-04-12 17:06:54 -07:00
Jeff Law b74f9efe5c Fix typo.
From-SVN: r11711
1996-04-12 17:57:07 -06:00
Mike Stump 6b5fbb552b 86th Cygnus<->FSF quick merge
From-SVN: r11710
1996-04-12 23:55:07 +00:00
Jeff Law 5ae5999cfe h8300.c (const_costs): -4 and 4 are cheap on the h8300h.
* h8300/h8300.c (const_costs): -4 and 4 are cheap on the h8300h.
        (notice_update_cc): Remove references to "value2" field.

From-SVN: r11709
1996-04-12 17:49:19 -06:00
Jeff Law f8f26adcc2 h8300.c (dosize): Remove unused "fped" argument.
* h8300/h8300.c (dosize): Remove unused "fped" argument.  All callers
        changed.  Handle add/sub of 5-8 bytes efficiently on the h8300h.

From-SVN: r11708
1996-04-12 17:23:05 -06:00
Jeff Law 15dc331ee6 h8300.c (print_operand): Handle new 'R' case for accessing the 8-bit area.
* h8300/h8300.c (print_operand): Handle new 'R' case for accessing
        the 8-bit area.  Make code for 'Y' fall into code for 'R' when
        operand is not a register.  Update some comments.
        (h8300_tiny_data_p): New function.
        (h8300_valid_machine_decl_attribute): Handle "tiny_data" attribute.
        * h8300/h8300.h (OK_FOR_U): Handle memory references into the
        8-bit area.
        (ENCODE_SECTION_INFO): Mark SYMBOL_REFs which refer to the 8-bit
        area.
        * h8300/h8300.md (many patterns): Use 'R' rather than 'X' for
        operands that may be memory accesses into the 8-bit area.
        (btst pattern): New pattern to set the cc0 (zbit) based on
        data in the 8-bit area.

        * h8300/h8300.md (one_cmplsi2): Fix length computation for h8300h.

From-SVN: r11707
1996-04-12 16:21:28 -06:00
Doug Evans 7f6ae52483 aout.h (ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
* arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Use LOCAL_LABEL_PREFIX.
	(ASM_OUTPUT_ADDR_{VEC,DIFF_ELT}): Likewise.

From-SVN: r11706
1996-04-12 18:47:39 +00:00
Doug Evans 428a927446 (CPP_PREDEFINES): Define __semi__ instead of semi.
From-SVN: r11705
1996-04-12 18:41:09 +00:00
Doug Evans 310324b8a2 arm.md (*ldmsi,*stmsi): Use (mem (match_operand ...)) to avoid using indirect_operand (reload problems).
* arm/arm.md (*ldmsi,*stmsi): Use (mem (match_operand ...))
	to avoid using indirect_operand (reload problems).

From-SVN: r11704
1996-04-12 18:34:14 +00:00
Jason Merrill 7f6c7be1a0 (dbxout_typedefs): Don't emit incomplete types yet.
(dbxout_symbol): Use DECL_ARTIFICIAL to recognize C++ implicit
        typedefs.

From-SVN: r11703
1996-04-12 16:42:46 +00:00
Doug Evans ae8ff0096b t-winnt (winnt.o): Rewrite based on .c.o rule.
* i386/t-winnt (winnt.o): Rewrite based on .c.o rule.
	(oldnames.o,spawnv.o): Add rules for.

From-SVN: r11702
1996-04-12 01:56:09 +00:00
Jeff Law 2570cc939a lib1funcs.asm (modnorm): New function(s).
* lib1funcs.asm (modnorm): New function(s).  Like divnorm,
        but gets the sign bit right for modulo operations.
        (__modhi3, modsi3): Use modnorm.

From-SVN: r11701
1996-04-11 14:10:57 -06:00
Stan Cox cea60f06c0 Minor EXTRA_SPECS fixes.
From-SVN: r11700
1996-04-11 17:00:35 +00:00