This is the mail archive of the gcc@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]

Mips :delay slot filler with store.


Hi All,

For the below C code

    Test.u32pt = u32PtLen;
    Test.u32pn = u32PtCnt;
    Test.pstpk = pstPt;
    Test.psteo = pstEgrInfo;
    Test.e = 1;
    Test.pstfi = pstFi ;

    return foo(&Test, AclAction);

    where "Test" is the struct type .

  the generated code for mips (with -fno-delayed-branch) :

   Test.u32pt = u32PtLen;
   370:    afb50084         sw      s5,132(sp)
   Test.u32pn = u32PtCnt;
   374:    afb60080         sw      s6,128(sp)
   Test.pstpk = pstPt;
   Test.psteo = pstEgrInfo;
   Test.e = 1;
   Test.pstfi = pstFi ;

   return foo(&Test, AclAction)
   378:    0c000000         jal     0 <FSVC_Egr_L4ACLfoo>
   37c:    00000000         nop

   with -fdelayed-branch(gcc 4.8.1) the generated code is

     Test.u32pt = u32PtLen;
      370:    afb50084         sw      s5,132(sp)
     Test.pstpk = pstPt;
     Test.psteo = pstEgrInfo;
     Test.e = 1;
     Test.pstfi = pstFi ;

      return foo(&Test, AclAction)
      378:    0c000000         jal     0 <FSVC_Egr_L4ACLfoo>
      Test.u32pn = u32PtCnt;
      374:    afb60080         sw      s6,128(sp)

  can filler place the "sw      s6,128(sp)"  in the delay slot ,is
that legal and if not why it so  ?

  Thank you
  ~Umesh


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