This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/56451] [4.8/4.9 regression] Wrong code for gcc.c-torture/execute/941015-1.c on SH


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56451

Oleg Endo <olegendo at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-11-25
     Ever confirmed|0                           |1

--- Comment #6 from Oleg Endo <olegendo at gcc dot gnu.org> ---
Hm, I'm just poking around here, sorry if it's just useless noise ...

In dbr_schedule, doing:

      fill_simple_delay_slots (1);
      fill_simple_delay_slots (0);
      fill_eager_delay_slots ();
      relax_delay_slots (first);

or
//      fill_simple_delay_slots (1);
      fill_simple_delay_slots (0);
      fill_eager_delay_slots ();
      relax_delay_slots (first);

-> produces bad code.



      fill_simple_delay_slots (1);
      fill_simple_delay_slots (0);
//      fill_eager_delay_slots ();
      relax_delay_slots (first);

-> doesn't do anything to the code.

//      fill_simple_delay_slots (1);
//      fill_simple_delay_slots (0);
      fill_eager_delay_slots ();
      relax_delay_slots (first);

or
      fill_simple_delay_slots (1);
//      fill_simple_delay_slots (0);
      fill_eager_delay_slots ();
      relax_delay_slots (first);


-> results in the following code (looks OK):

        mov.l   .L8,r1
        cmp/ge  r1,r5
        bf/s    .L11
        mov     #1,r0

        cmp/gt  r1,r5
        bt/s    .L6
        mov     #2,r0

        mov.l   .L9,r1
        cmp/hs  r1,r4
        bt      .L6
        mov     #1,r0
.L6:
        .align 1
.L11:
        rts    
        nop
.L10:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]