[llvm-dev] Mips :delay slot filler with store.
Umesh Kalappa via llvm-dev
llvm-dev at lists.llvm.org
Thu Oct 25 15:50:46 PDT 2018
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181026/8cf4d68a/attachment.html>
More information about the llvm-dev
mailing list