home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / c / gcc-i2.6 / gcc-i2.6.3-O3patch
Encoding:
Text File  |  1995-07-22  |  3.9 KB  |  114 lines

  1. diff -c3 -b -B --ignore-all-space --ignore-blank-lines --recursive gcc-i2.6.3/config/i386/i386.c gcc-i2.6.3.new/config/i386/i386.c
  2. *** gcc-i2.6.3/config/i386/i386.c    Thu Feb 16 10:51:33 1995
  3. --- gcc-i2.6.3.new/config/i386/i386.c    Sat Jul 22 14:48:43 1995
  4. ***************
  5. *** 2931,2939 ****
  6.         flag_compare_elim = 1;
  7.         flag_sftwr_pipe = 1;
  8.         flag_omit_frame_pointer = 1;
  9. !       flag_reg_reg_copy_opt = 1;
  10.         flag_opt_reg_stack = 1;
  11. !       flag_loop_after_global = 1;
  12.         flag_peep_spills = 1;
  13.         flag_replace_stack_mem = 1;
  14.         flag_opt_jumps_out = 1;
  15. --- 2924,2932 ----
  16.         flag_compare_elim = 1;
  17.         flag_sftwr_pipe = 1;
  18.         flag_omit_frame_pointer = 1;
  19. !       /*flag_reg_reg_copy_opt = 1; */
  20.         flag_opt_reg_stack = 1;
  21. !       /*flag_loop_after_global = 1; */
  22.         flag_peep_spills = 1;
  23.         flag_replace_stack_mem = 1;
  24.         flag_opt_jumps_out = 1;
  25. ***************
  26. *** 2952,2958 ****
  27.         flag_swap_for_agi = 1;
  28.         if (TARGET_PENTIUM)
  29.       {
  30. !       flag_risc = 1;
  31.         flag_risc_const = 1;
  32.         /*flag_recombine = 1;*/
  33.         if (level == 4)
  34. --- 2945,2951 ----
  35.         flag_swap_for_agi = 1;
  36.         if (TARGET_PENTIUM)
  37.           {
  38. !           /*flag_risc = 1; */
  39.             flag_risc_const = 1;
  40.             /*flag_recombine = 1;*/
  41.             if (level == 4)
  42. diff -c3 -b -B --ignore-all-space --ignore-blank-lines --recursive gcc-i2.6.3/loop.c gcc-i2.6.3.new/loop.c
  43. *** gcc-i2.6.3/loop.c    Thu Feb 16 10:59:32 1995
  44. --- gcc-i2.6.3.new/loop.c    Wed Jun 14 20:34:02 1995
  45. ***************
  46. *** 8241,8249 ****
  47.               }
  48.               }
  49.           }
  50. !             }
  51. !       else if (GET_CODE (PATTERN (insn)) == PARALLEL)
  52.           {
  53.             for (i = 0; i < XVECLEN (PATTERN (insn), 0); i++)
  54.           {
  55.             rtx cur_rtx;
  56. --- 8129,8137 ----
  57.                           }
  58.                       }
  59.                   }
  60. !             } else if (GET_CODE (PATTERN (insn)) == PARALLEL)
  61.               {
  62. +                 dest = SET_DEST (PATTERN (insn));
  63.                   for (i = 0; i < XVECLEN (PATTERN (insn), 0); i++)
  64.                   {
  65.                       rtx cur_rtx;
  66. diff -c3 -b -B --ignore-all-space --ignore-blank-lines --recursive gcc-i2.6.3/reload1.c gcc-i2.6.3.new/reload1.c
  67. *** gcc-i2.6.3/reload1.c    Thu Feb 16 10:19:37 1995
  68. --- gcc-i2.6.3.new/reload1.c    Sun Feb 26 20:33:13 1995
  69. ***************
  70. *** 6549,6556 ****
  71. --- 6549,6590 ----
  72.   
  73.         /* Output the last reload insn.  */
  74.         if (! special)
  75. + /*
  76.           gen_reload (old, reloadreg, reload_opnum[j],
  77.               reload_when_needed[j]);
  78. + */
  79. +         {
  80. +             emit_insn(gen_move_insn(old,reloadreg));
  81. +  /* intel1 */ if ((flag_loop_after_global || flag_peep_spills)
  82. +               && is_a_reload_stack_slot (old, &indx, cur_stack_offset, NULL))
  83. +               {
  84. +                   reload_insn = get_last_insn ();
  85. +                   RTX_IS_SPILL_P ( reload_insn) = 1;
  86. +                   if (indx == -1)
  87. +                   {
  88. +                      tmp_stack_slot = eliminate_regs (
  89. +                             reg_equiv_memory_loc[REGNO (old)],
  90. +                             GET_MODE (old), NULL_RTX);
  91. +                     if (num_reload_stack_slots < MAX_RELOAD_STACK_SLOTS
  92. +                        && !is_a_reload_stack_slot (tmp_stack_slot, &indx,
  93. +                          cur_stack_offset, NULL))
  94. +                     {
  95. +                       reload_slots[num_reload_stack_slots].cur_stack_offset
  96. +                                 = cur_stack_offset;
  97. +                       reload_slots[num_reload_stack_slots].stack_slot_pseudo_reg
  98. +                                 = REGNO (old);
  99. +                       reload_slots[num_reload_stack_slots].reload_stack_slot
  100. +                                 = tmp_stack_slot;
  101. +                       reload_slots[num_reload_stack_slots++].reload_insn = NULL;
  102. +                     }
  103. +                   SPILL_PSEUDO (reload_insn) = REGNO (old);
  104. +                  } else
  105. +                     SPILL_PSEUDO (reload_insn)
  106. +                          = reload_slots[indx].stack_slot_pseudo_reg;
  107. +                }
  108. +             }
  109.   
  110.   #ifdef PRESERVE_DEATH_INFO_REGNO_P
  111.         /* If final will look at death notes for this reg,
  112.