while optimizing my software I realized there are a lot of NOPs in the generated asm code (on -O3).
I thought most operations are done within one scheduler cycle (= 5+ clk cycles), so I am wondering if the nops in the following example are necessary?
Code: Select all
Found start flag!
? 0x409dc nop (0r)
0x409de ldw (ru6) r7, sp[0x4]
? 0x409e0 nop (0r)
0x409e2 ldw (3r) r0, r6[r7]
0x409e4 add (2rus) r10, r0, 0x6
? 0x409e6 nop (0r)
0x409e8 ldc (lru6) r1, 0x5f8
0x409ec add (3r) r0, r0, r1
? 0x409ee nop (0r)
? 0x409f0 nop (0r)
0x409f2 stw (ru6) r0, sp[0x3]
0x409f4 ldw (lru6) r0, cp[0x3c]
0x409f8 add (2rus) r1, r8, 0x0
0x409fa stw (ru6) r0, sp[0x5]
0x409fc sub (3r) r0, r8, r7
0x409fe stw (ru6) r7, sp[0x4]
0x40a00 waiteu (0r)