aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
AgeCommit message (Collapse)AuthorFilesLines
1996-03-12(nonlocal_goto): Emit barrier after jump.Richard Kenner1-0/+31
(setjmp{,_64,_32}): New patterns. From-SVN: r11520
1996-03-12(dbra peepholes): Use flags_in_68881.Torbjorn Granlund1-2/+2
From-SVN: r11517
1996-03-12(valid_dbcc_comparison_p): Don't test cc_prev_status here.Torbjorn Granlund1-8/+10
(flags_in_68881): New function. From-SVN: r11516
1996-03-11h8300.h (SP_AND_G_REGS): Renamed from SP_AND_G_REG.Doug Evans3-142/+171
* h8300/h8300.h (SP_AND_G_REGS): Renamed from SP_AND_G_REG. (CC_DONE_CBIT): Delete. (CC_OVERFLOW_0,CC_OVERFLOW_UNUSABLE,CC_NO_CARRY): Define. * h8300/h8300.c (cond_string): Delete CC_DONE_CBIT handling. (notice_update_cc): Delete CC_CBIT, CC_WHOOPS. Add CC_SET_ZN_C0. (restore_compare_p): New function. (shift_one): Use shll instead of shal so overflow bit is usable. Set cc_valid bits to cc_status.flags values. (emit_a_shift): Set cc_status.flags. * h8300/h8300.md (attr cc): Delete whoops,cbit. Add set_zn_c0. (all patterns) Update cc attr setting. (tstqi,tsthi,tstsi): Delete CC_DONE_CBIT handling. (addhi3,subhi3): Change define_expand to define_insn. (branch_true,branch_false): Check if compare needs to be restored. From-SVN: r11514
1996-03-11Make long longs use normal CONST_DOUBLE in movdi, do not split too earlyMichael Meissner3-58/+246
From-SVN: r11513
1996-03-11Use proper modes and predicates for {sign,zero}_extract.Richard Kenner6-163/+234
From-SVN: r11511
1996-03-11(move_pic_label_si,move_label_di): Rewrite lengthDoug Evans1-4/+4
attr calcs to be more conservative. From-SVN: r11509
1996-03-08(ix86_binary_operator_ok): one memory operand is OK.Stan Cox1-3/+2
From-SVN: r11502
1996-03-08(reg_unused_after): Return 0 if see a JUMP_INSN.Jim Wilson1-2/+5
From-SVN: r11501
1996-03-08(CPP_SPEC): Use %(cpp_cpu).Doug Evans1-2/+2
From-SVN: r11500
1996-03-08sparc.h (TARGET_SWITCHES): Move -mlive-g0 from here,Doug Evans1-0/+6
* sparc.h (TARGET_SWITCHES): Move -mlive-g0 from here, * splet.h (SUBTARGET_SWITCHES): To here. From-SVN: r11499
1996-03-08sparc.h (TARGET_SWITCHES): Move -mlive-g0 from here,Doug Evans1-1/+0
splet.h (SUBTARGET_SWITCHES): To here. From-SVN: r11498
1996-03-08Initial revisionDoug Evans2-0/+51
From-SVN: r11496
1996-03-08(eligible_for_epilogue_delay): Move set of `pat'.Doug Evans1-2/+2
From-SVN: r11495
1996-03-08sparc.h (MASK_LIVE_G0,TARGET_LIVE_G0): Define.Doug Evans3-419/+595
* sparc/sparc.h (MASK_LIVE_G0,TARGET_LIVE_G0): Define. (TARGET_SWITCHES): Add live-g0. (FIRST_PSEUDO_REGISTER): Add 1 for %icc (now 101). (FIXED_REGISTERS,CALL_USED_REGISTERS): Update. (FIXED_REGISTERS): %g0 is fixed by default. (SPARC_{FIRST,LAST}_V9_FCC_REG): Define. (SPARC_{ICC,FCC}_REG): Define. (CONDITIONAL_REGISTER_USAGE): Don't fix %fcc0 if v8. (REG_CLASS_CONTENTS): Reg 0 is an int reg, reg 100 is %icc. (REGNO_REG_CLASS): Rewrite to use global `sparc_regno_reg_class'. (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER,LEAF_REGISTERS): Add %icc. (REG_CLASS_FROM_LETTER): Handle 'c' for FPCC_REGS in non-v9 case. (REGNO_OK_FOR_{BASE,INDEX}_P): Treat %g0 as a normal reg. (REG_OK_FOR_{BASE,INDEX}_P,EXTRA_CONSTRAINT): Likewise. (REGISTER_NAMES): Add %icc. (ADDITIONAL_REGISTER_NAMES): Use SPARC_ICC_REG. * sparc/sparc.c (leaf_reg_remap): Add %icc=100. (reg_or_0_operand): Don't allow 0 if TARGET_LIVE_G0. (fcc_reg_operand): Renamed from ccfp_reg_operand. Use SPARC_FCC_REG. Don't treat reg 0 as an fcc reg. Don't match modes if `mode' argument is VOIDmode. (icc_or_fcc_reg_operand): New function. (gen_compare_reg): Use SPARC_FCC_REG for v8 fp compares. Use SPARC_ICC_REG for int compares. (eligible_for_epilogue_delay): Don't allow anything if TARGET_LIVE_G0. Delete unnecessary test for %g0. (emit_move_sequence): Don't emit (set (mem) (const_int 0)) if TARGET_LIVE_G0. (output_scc_insn): Label moved to operand 3. Condition code reg moved to operand 2. (sparc_mode_class): Enum C_MODE renamed to CC_MODE. (hard_32bit_mode_classes): Set reg 0 to S_MODES. Add entry for %icc. (hard_64bit_mode_classes): Set reg 0 to D_MODES. Add entry for %icc. (sparc_regno_reg_class): New global. (sparc_init_modes): Initialize it. (output_cbranch): Delete fp_cond_reg argument. (print_operand, MEM op): Don't print "%g0+" if TARGET_SPARCLET. (sparc_flat_eligible_for_epilogue_delay): Don't allow anything if TARGET_LIVE_G0. * sparc/sparc.md (live_g0): New attribute. (*): Integer condition code register is now reg 100. Use SPARC_ICC_REG instead of hardcoding reg 100 where possible. Non-v9 floating point condition code register is now reg 96. (*cmp{sf,df,tf}_{fpe,fp}_sp{32,64}): Combine v9/non-v9 cases. (*{normal,inverted}_{,fp,fpe}_branch): Update call to output_cbranch. (*mov{qi,hi,si}_insn): Don't use if TARGET_LIVE_G0. (*mov{qi,hi,si}_insn_liveg0): New patterns. (*mov{si,di,sf,df,tf}_ccfp{,e}_sp64): ccfp_reg_operand renamed to fcc_reg_operand. (*negdi2_sp32,negsi2,one_cmplsi2,ffssi2): Ensure %%g0 is 0 if TARGET_LIVE_G0. (*one_cmpldi2_sp32): Move operand 1 to rs1 and use 0 as rs2. (patterns that use %g0 in rs2): Use 0 immediate value instead. (patterns that read %g0): Don't use if TARGET_LIVE_G0. From-SVN: r11494
1996-03-07(PASS_IN_REG_P): Change < to <=.Jim Wilson1-1/+1
From-SVN: r11493
1996-03-07lib2funcs.asm: Remove entry/exit routines.Jeff Law3-469/+20
* lib2funcs.asm: Remove entry/exit routines. Move them into... * ee.asm: New file. Entry/exit code. * ee_fp.asm: New file. Entry/exit code with frame pointer. * t-pa: Corresponding changes. * t-pro: Corresponding changes. From-SVN: r11491
1996-03-07Initial revisionJeff Law2-0/+535
From-SVN: r11490
1996-03-07cd config/paJeff Law1-4/+5
* pa.c: Fix misc small typos/thinkos in recent changes. From-SVN: r11489
1996-03-06* t-pro (dp-bit rule): Fix typo.Jeff Law1-1/+1
From-SVN: r11488
1996-03-06lib2funcs.asm (__outline_prologue): Remove frame pointer support.Jeff Law5-117/+444
* lib2funcs.asm (__outline_prologue): Remove frame pointer support. (__outline_prologue_fp): Out of line prologue with frame pointer. (__outline_epilogue, outline_epilogue_fp): Similarly. * pa.c (compute_frame_size): Allocate enough space to avoid holes in the callee register saves. Remove some special handling of %r3. (hppa_expand_prologue): Don't do an out of line prologue/epilogue if it would take more insns than an inline prologue/epilogue. Don't leave holes in the callee register save set. (hppa_expand_prologue): Corresponding changes. Pass stack size to out of line epilogue code. * pa.h (FRAME_POINTER_REQUIRED): Revert last change. * pa.md (outline_prologue_call): Handle outline prologues which don't need frame pointers. (outline_epilogue_call): Similarly. * t-pro: Reenable multilib code. Build a set of libraries that optimize for space. From-SVN: r11483
1996-03-06(PASS_IN_REG_P): Fix typo in last change.Jim Wilson1-1/+1
From-SVN: r11482
1996-03-06add scheduling information for storesDavid Edelsohn1-121/+181
From-SVN: r11481
1996-03-06602 uses 603 descriptionDavid Edelsohn2-5/+6
From-SVN: r11480
1996-03-05(ASM_OUTPUT_SECTION_NAME): New define.Richard Kenner1-0/+8
From-SVN: r11479
1996-03-05(SUPPORT_PASCAL_STRINGS): Deleted.Richard Kenner1-3/+0
From-SVN: r11478
1996-03-05Initial revisionRichard Kenner8-0/+659
From-SVN: r11477
1996-03-05(ASM_OUTPUT_CASE_END): Add missing semicolon.Richard Kenner1-3/+3
(switch_table_difference_label_flag): Make extern. From-SVN: r11476
1996-03-05(find_barrier): Set si_limit to 1018 instead of 1020, andJim Wilson1-4/+8
hi_limit to 510 instead of 512. From-SVN: r11464
1996-03-05sparc.md (*mov{qi,hi,si}_insn): Simplify length attribute.Doug Evans1-8/+8
* sparc/sparc.md (*mov{qi,hi,si}_insn): Simplify length attribute. (*movsi_insn): Use fpload/fpstore attributes for fp loads/stores. %r1 -> %1 for fpstore alternative. (*movsf_insn,*movsf_no_f_insn): %r1 -> %1. From-SVN: r11463
1996-03-05(JUMP_TABLES_IN_TEXT_SECTION): Define.Jim Wilson1-0/+4
From-SVN: r11460
1996-03-05(push_e, pop_e): Add TARGET_SH3E to condition.Jim Wilson1-2/+2
From-SVN: r11459
1996-03-05Fix typo in last change.Jeff Law1-1/+1
From-SVN: r11457
1996-03-05lib2funcs.asm (__outline_prologue): New "function".Jeff Law4-6/+436
* lib2funcs.asm (__outline_prologue): New "function". (__outline_epilogue): New "function". * pa.h (TARGET_SPACE): Define. (target_flags): Add -mspace and -mno-space. Enable/disable space saving optimizations. (FRAME_POINTER_REQUIRED): Frame pointers are always required when generating out of line prologues and epilogues. * pa.c (compute_frame_size): Handle out of line prologues/epilogues. (hppa_expand_prologue): If optimizing for space, emit an out of line prologue. * pa.c (compute_frame_size): Handle out of line prologues/epilogues. (hppa_expand_prologue): If optimizing for space, emit an out of line prologue. (hppa_expand_epilogue): Similarly. (override_options): Optimizing for space is not compatable with either profiling or PIC code generation. * pa.md (outline_prologue_call): New pattern. (outline_epilogue_call): Likewise. From-SVN: r11438
1996-03-05sparc.md (*cmp{si,di}_insn): %r0 -> %0.Doug Evans1-7/+9
* sparc/sparc.md (*cmp{si,di}_insn): %r0 -> %0. (DFmode move split): Ensure registers not extended v9 fp regs. (*mov{sf,df,tf}_cc_reg_sp64): %r3 -> %3. From-SVN: r11437
1996-03-04(USG): Set to 1.Richard Kenner1-2/+2
From-SVN: r11430
1996-03-04Initial revisionRichard Kenner7-0/+324
From-SVN: r11429
1996-03-04(FUNCTION_PROFILER): Emit label references corresponding to those generated ↵Richard Kenner1-29/+243
by ASM_OUTPUT_INTERNAL_LABEL. (FUNCTION_PROFILER): Emit label references corresponding to those generated by ASM_OUTPUT_INTERNAL_LABEL. (MOTOROLA, MOTOROLA_BSR, ...): Define #ifndef USE_GAS. (ASM_SPEC): Define properly #ifdef USE_GAS. (LIB_SPEC): -L/usr/lib/libp deleted. (STARTFILE_SPEC): -L/usr/lib/libp added. (DEFAULT_A_OUT_NAME): Define. (LINK_SPEC): Pass -v if GNU ld is used. (LOCAL_LABEL_PREFIX): Local labels start with .L using GAS, else L%. (USER_LABEL_PREFIX): Undefine. (FUNCTION_PROFILER): Call asm_fprintf instead of normal fprintf. (ASM_APP_ON, ASM_FILE_START): GAS supports it. (CTORS_.../DTORS_...): Define if GNU ld is used. (ASM_FILE_START): Define properly for Motorola and GNU as syntax. (TARGET_VERSION): Re-define only #ifndef USE_GAS. (CALL_USED_REGISTERS): Deleted. (GLOBAL_ASM_OP): Re-define only #ifndef USE_GAS. (ASM_{LONG,SHORT,CHAR,BYTE,BYTE_OP}): New macros. (ASM_OUTPUT_{DOUBLE,LONG_DOUBLE,FLOAT,INT,SHORT}): Use them. (ASM_OUTPUT_{CHAR,BYTE,ASCII,FLOAT_OPERAND,DOUBLE_OPERAND}): Likewise. (ALIGN_ASM_OP, SKIP_ASM_OP): New macros. (ASM_OUTPUT_{ALIGN,SKIP}): Use them. (ASM_OUTPUT_SOURCE_FILENAME): Define only if not using GNU as. (ASM_{GENERATE,OUTPUT}_INTERAL_LABEL): Provide proper definitions for Motorola and GNU as syntax. (ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Changed for portability between Motorola and GNU as syntax. (ASM_OUTPUT_{CASE_LABEL,OPCODE}): Define only if not using GNU as. (ASM_OUTPUT_CASE_FETCH, ASM_RETURN_CASE_JUMP): New macros. (ASM_OUTPUT_{COMMON,LOCAL}): Proper defns for Motorola and gas syntax. (SDB_...): Define only for Motorola as. (ALT_LIBM): New define to tell g++.c about an alternative name for `-lm'. (MATH_LIBRARY, NEED_ATEXIT, HAVE_ATEXIT, EXIT_BODY): New macros. From-SVN: r11428
1996-03-04(print_operand): Emit .l as scale factor #ifdef MOTOROLA.Richard Kenner1-0/+4
From-SVN: r11427
1996-03-04(PASS_IN_REG_P): Don't reject BLKmode for SH3e.Jim Wilson1-2/+1
For SH3e, do reject parameter that won't fit entirely in registers. From-SVN: r11424
1996-03-04(mulhisi3-2, mulhisi3-1, mulsidi3_i, umulsidi3_i,Jim Wilson1-22/+54
smulsi3_highpart, umulsi3_highpart): Renames operands 1/2 to 0/1. (mulsidi3, umulsidi3): Add support for TARGET_LITTLE_ENDIAN. From-SVN: r11423
1996-03-04Initial revisionRichard Kenner1-0/+34
From-SVN: r11422
1996-03-04(machine_dependent_reorg): In TARGET_RELAX code...Jim Wilson1-6/+16
(machine_dependent_reorg): In TARGET_RELAX code, when scan forward from LINK, fail if pass a CODE_LABEL before finding INSN. Fail if SCAN not INSN is a JUMP_INSN. From-SVN: r11419
1996-03-04Fix typo in last change.Michael Meissner1-6/+6
From-SVN: r11417
1996-03-04Add attribute((longcall)) supportMichael Meissner3-78/+131
From-SVN: r11416
1996-03-04(xstrdup): Declare instead of instead of strdup.Richard Kenner1-3/+3
(ASM_OUTPUT_LABEL): Use xstrdup instead of strdup. (FIX_FRAME_POINTER_ADDRESS): Don't use DEPTH in string. From-SVN: r11414
1996-03-04(strdup): Delete.Richard Kenner1-20/+1
(float_label): xstrdup instead of strdup. From-SVN: r11413
1996-03-04(NO_WAIT_H): Deleted.Richard Kenner1-5/+2
From-SVN: r11406
1996-03-02h8300.h (BIGGEST_FIELD_ALIGNMENT): Replace uses of TARGET_ALIGN_STRUCT_300 ↵Doug Evans1-2/+2
with TARGET_ALIGN_300. * h8300.h (BIGGEST_FIELD_ALIGNMENT): Replace uses of TARGET_ALIGN_STRUCT_300 with TARGET_ALIGN_300. (BIGGEST_ALIGNMENT): Likewise. From-SVN: r11403
1996-03-02(SKIP_CALLERS_UNIMP_P): Make agree with test used in call.Richard Kenner1-3/+8
From-SVN: r11402