Hi gem5 users,
I am studying the behavior of store-conditional instruction (stxr) in o3-pipeline by o3-visualizer (O3PipeView). However, O3PipeView does not print the stxr instruction in trace file. It seems that O3PipeView gets printed when destructor of dynamic instructions is called (file: dyn_inst_impl.hh, ~BaseO3DynInst()). Trace file prints ldxr instruction (as below) but no stxr. It seems stxr in handled differently in somewhere in the pipeline unlike ldxr. Please shed some light on this. However, with O3CPUAll flag, I can see the stxr in the trace file executing successfully. Am I missing something? Any hint would be of much help. *Program* .comm i,8 .text .globl _start _start: adr x3, i ldxr x4, [x3] stxr w5, x4, [x3] add x17, x18, x19 mov x8, 93 /* exit is syscall #93 */ svc 0 /* invoke syscall */ *Tracefile* *O3PipeView:fetch:82917:0x004000b0:0:1: adr x3, #65560* *O3PipeView:decode:83250* *O3PipeView:rename:83583* *O3PipeView:dispatch:84249* *O3PipeView:issue:84249* *O3PipeView:complete:84582* *O3PipeView:retire:85248:store:0* *O3PipeView:fetch:82917:0x004000b4:0:2: ldxr x4, xzr, [x3]* *O3PipeView:decode:83250* *O3PipeView:rename:83583* *O3PipeView:dispatch:84249* *O3PipeView:issue:84582* *O3PipeView:complete:85914* *O3PipeView:retire:150183:store:0* *O3PipeView:fetch:82917:0x004000bc:0:4: add x17, x18, x19* *O3PipeView:decode:83250* *O3PipeView:rename:83583* *O3PipeView:dispatch:152181* *O3PipeView:issue:152181* *O3PipeView:complete:152514* *O3PipeView:retire:153180:store:0* Thanks in advance for your time. -- with regards, Virendra Kumar Pathak
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
