(no commit message)
[libreriscv.git] / openpower / openpower / effect-of-more-decode-stages-on-reg-renaming.mdwn
1 [[!toc]]
2
3 # effect of more decode stages on reg renaming
4
5 there's basically no effect except execution starts a few cycles later. no additional execution resources are needed, notice the exact same number of renamed hardware registers are used.
6
7 # 5 decode stages, 4 wide
8
9 | Cycle | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
10 |----------------------------|-----|-------|----------|----------|----------|----------|----------|------------------------------|------------------------------|-------------------------------|--------------------------------|---------------------------------|---------------------------------|---------------------------------|--------------------------------|--------------------|-------------------------|--------------------------------|--------------------------------|------------------|-------------------------|-----------------------|----------------|--------|-----|
11 | 0x100: mtctr r4 | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: mtctr h2 \<- h1 | Read Inputs: h1 | Write Outputs: h2 | Retire | | | | | | | | | | | | | | |
12 | 0x104: ldu r9, 8(r3) | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: ldu h3, 8(h0 -> h4) | Read Inputs: h0 | Write Outputs: h3, h4 | Retire | | | | | | | | | | | | | | |
13 | 0x108: addi r9 \<- r9, 100 | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: addi h5 \<- h3, 100 | Wait: h3 | Read Inputs: h3 | Write Outputs: h5 | Retire | | | | | | | | | | | | | |
14 | 0x10c: std r9, 0(r3) | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: std h5, 0(h4) | Wait: h5, h4 | Wait: h5 | Read Inputs: h5, h4 | Write Outputs: | Retire | | | | | | | | | | | | |
15 | 0x110: bdnz .L2 | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: bdnz h6 \<- h2, .L2 | Read Inputs: h2 | Write Outputs: h6 | Wait: Retire | Retire | | | | | | | | | | | | |
16 | 0x104: ldu r9, 8(r3) | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: ldu h7, 8(h4 -> h8) | Wait: all execution pipes busy | Read Inputs: h4 | Write Outputs: h7, h8 | Retire | | | | | | | | | | | |
17 | 0x108: addi r9 \<- r9, 100 | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: addi h9 \<- h7, 100 | Wait: h7 | Wait: h7 | Read Inputs: h7 | Write Outputs: h9 | Retire | | | | | | | | | | |
18 | 0x10c: std r9, 0(r3) | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: std h9, 0(h8) | Wait: h9, h8 | Wait: h9, h8 | Wait: h9 | Read Inputs: h9, h8 | Write Outputs: | Retire | | | | | | | | | |
19 | 0x110: bdnz .L2 | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: bdnz h10 \<- h6, .L2 | Read Inputs: h6 | Write Outputs: h10 | Wait: Retire | Wait: Retire | Wait: Retire | Retire | | | | | | | | | |
20 | 0x104: ldu r9, 8(r3) | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: ldu h11, 8(h8 -> h12) | Wait: h8 | Read Inputs: h8 | Write Outputs: h11, h12 | Wait: Retire | Retire | | | | | | | | | |
21 | 0x108: addi r9 \<- r9, 100 | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: addi h13 \<- h11, 100 | Wait: h11 | Wait: h11 | Read Inputs: h11 | Write Outputs: h13 | Retire | | | | | | | | | |
22 | 0x10c: std r9, 0(r3) | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: std h13, 0(h12) | Wait: h13, h12 | Wait: h13, h12 | Wait: h13 | Read Inputs: h13, h12 | Write Outputs: | Retire | | | | | | | | |
23 | 0x110: bdnz .L2 | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: bdnz h14 \<- h10, .L2 | Read Inputs: h10 | Write Outputs: h14 | Wait: Retire | Wait: Retire | Wait: Retire | Retire | | | | | | | | |
24 | 0x104: ldu r9, 8(r3) | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: ldu h15, 8(h12 -> h16) | Wait: h12 | Wait: all execution pipes busy | Wait: all execution pipes busy | Read Inputs: h12 | Write Outputs: h15, h16 | Retire | | | | | | | |
25 | 0x108: addi r9 \<- r9, 100 | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: addi h17 \<- h15, 100 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Read Inputs: h15 | Write Outputs: h17 | Retire | | | | | | |
26 | 0x10c: std r9, 0(r3) | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: std h17, 0(h16) | Wait: h17, h16 | Wait: h17, h16 | Wait: h17, h16 | Wait: h17, h16 | Wait: h17 | Read Inputs: h17, h16 | Write Outputs: | Retire | | | | | |
27 | 0x110: bdnz .L2 | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: bdnz h18 \<- h14, .L2 | Read Inputs: h14 | Write Outputs: h18 | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Retire | | | | | |
28 | 0x104: ldu r9, 8(r3) | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: ldu h19, 8(h16 -> h20) | Wait: h16 | Wait: h16 | Wait: h16 | Read Inputs: h16 | Write Outputs: h19, h20 | Wait: Retire | Retire | | | | | |
29 | 0x108: addi r9 \<- r9, 100 | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: addi h21 \<- h19, 100 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Read Inputs: h19 | Write Outputs: h21 | Retire | | | | | |
30 | 0x10c: std r9, 0(r3) | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: std h21, 0(h20) | Wait: h21, h20 | Wait: h21, h20 | Wait: h21, h20 | Wait: h21, h20 | Wait: h21 | Read Inputs: h21, h20 | Write Outputs: | Retire | | | | |
31 | 0x110: bdnz .L2 | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: bdnz h22 \<- h18, .L2 | Read Inputs: h18 | Write Outputs: h22 | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Retire | | | | |
32 | 0x104: ldu r9, 8(r3) | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: ldu h23, 8(h20 -> h24) | Wait: h20 | Wait: h20 | Wait: h20 | Wait: all execution pipes busy | Wait: all execution pipes busy | Read Inputs: h20 | Write Outputs: h23, h24 | Retire | | | |
33 | 0x108: addi r9 \<- r9, 100 | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: addi h25 \<- h23, 100 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Read Inputs: h23 | Write Outputs: h25 | Retire | | |
34 | 0x10c: std r9, 0(r3) | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: std h25, 0(h24) | Wait: h25, h24 | Wait: h25, h24 | Wait: h25, h24 | Wait: h25, h24 | Wait: h25, h24 | Wait: h25, h24 | Wait: h25 | Read Inputs: h25, h24 | Write Outputs: | Retire | |
35 | 0x110: bdnz .L2 | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Renamed: bdnz h26 \<- h22, .L2 | Read Inputs: h22 | Write Outputs: h26 | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Retire | |
36
37 # 1 decode stage, 4 wide
38
39 | Cycle | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
40 |----------------------------|-----|-------|----------|------------------------------|------------------------------|-------------------------------|--------------------------------|---------------------------------|---------------------------------|---------------------------------|--------------------------------|--------------------|-------------------------|--------------------------------|--------------------------------|------------------|-------------------------|-----------------------|----------------|--------|-----|-----|-----|-----|-----|
41 | 0x100: mtctr r4 | | Fetch | Decode 0 | Renamed: mtctr h2 \<- h1 | Read Inputs: h1 | Write Outputs: h2 | Retire | | | | | | | | | | | | | | | | | | |
42 | 0x104: ldu r9, 8(r3) | | Fetch | Decode 0 | Renamed: ldu h3, 8(h0 -> h4) | Read Inputs: h0 | Write Outputs: h3, h4 | Retire | | | | | | | | | | | | | | | | | | |
43 | 0x108: addi r9 \<- r9, 100 | | Fetch | Decode 0 | Renamed: addi h5 \<- h3, 100 | Wait: h3 | Read Inputs: h3 | Write Outputs: h5 | Retire | | | | | | | | | | | | | | | | | |
44 | 0x10c: std r9, 0(r3) | | Fetch | Decode 0 | Renamed: std h5, 0(h4) | Wait: h5, h4 | Wait: h5 | Read Inputs: h5, h4 | Write Outputs: | Retire | | | | | | | | | | | | | | | | |
45 | 0x110: bdnz .L2 | | | Fetch | Decode 0 | Renamed: bdnz h6 \<- h2, .L2 | Read Inputs: h2 | Write Outputs: h6 | Wait: Retire | Retire | | | | | | | | | | | | | | | | |
46 | 0x104: ldu r9, 8(r3) | | | | Fetch | Decode 0 | Renamed: ldu h7, 8(h4 -> h8) | Wait: all execution pipes busy | Read Inputs: h4 | Write Outputs: h7, h8 | Retire | | | | | | | | | | | | | | | |
47 | 0x108: addi r9 \<- r9, 100 | | | | Fetch | Decode 0 | Renamed: addi h9 \<- h7, 100 | Wait: h7 | Wait: h7 | Read Inputs: h7 | Write Outputs: h9 | Retire | | | | | | | | | | | | | | |
48 | 0x10c: std r9, 0(r3) | | | | Fetch | Decode 0 | Renamed: std h9, 0(h8) | Wait: h9, h8 | Wait: h9, h8 | Wait: h9 | Read Inputs: h9, h8 | Write Outputs: | Retire | | | | | | | | | | | | | |
49 | 0x110: bdnz .L2 | | | | Fetch | Decode 0 | Renamed: bdnz h10 \<- h6, .L2 | Read Inputs: h6 | Write Outputs: h10 | Wait: Retire | Wait: Retire | Wait: Retire | Retire | | | | | | | | | | | | | |
50 | 0x104: ldu r9, 8(r3) | | | | | Fetch | Decode 0 | Renamed: ldu h11, 8(h8 -> h12) | Wait: h8 | Read Inputs: h8 | Write Outputs: h11, h12 | Wait: Retire | Retire | | | | | | | | | | | | | |
51 | 0x108: addi r9 \<- r9, 100 | | | | | Fetch | Decode 0 | Renamed: addi h13 \<- h11, 100 | Wait: h11 | Wait: h11 | Read Inputs: h11 | Write Outputs: h13 | Retire | | | | | | | | | | | | | |
52 | 0x10c: std r9, 0(r3) | | | | | Fetch | Decode 0 | Renamed: std h13, 0(h12) | Wait: h13, h12 | Wait: h13, h12 | Wait: h13 | Read Inputs: h13, h12 | Write Outputs: | Retire | | | | | | | | | | | | |
53 | 0x110: bdnz .L2 | | | | | Fetch | Decode 0 | Renamed: bdnz h14 \<- h10, .L2 | Read Inputs: h10 | Write Outputs: h14 | Wait: Retire | Wait: Retire | Wait: Retire | Retire | | | | | | | | | | | | |
54 | 0x104: ldu r9, 8(r3) | | | | | | Fetch | Decode 0 | Renamed: ldu h15, 8(h12 -> h16) | Wait: h12 | Wait: all execution pipes busy | Wait: all execution pipes busy | Read Inputs: h12 | Write Outputs: h15, h16 | Retire | | | | | | | | | | | |
55 | 0x108: addi r9 \<- r9, 100 | | | | | | Fetch | Decode 0 | Renamed: addi h17 \<- h15, 100 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Read Inputs: h15 | Write Outputs: h17 | Retire | | | | | | | | | | |
56 | 0x10c: std r9, 0(r3) | | | | | | Fetch | Decode 0 | Renamed: std h17, 0(h16) | Wait: h17, h16 | Wait: h17, h16 | Wait: h17, h16 | Wait: h17, h16 | Wait: h17 | Read Inputs: h17, h16 | Write Outputs: | Retire | | | | | | | | | |
57 | 0x110: bdnz .L2 | | | | | | Fetch | Decode 0 | Renamed: bdnz h18 \<- h14, .L2 | Read Inputs: h14 | Write Outputs: h18 | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Retire | | | | | | | | | |
58 | 0x104: ldu r9, 8(r3) | | | | | | | Fetch | Decode 0 | Renamed: ldu h19, 8(h16 -> h20) | Wait: h16 | Wait: h16 | Wait: h16 | Read Inputs: h16 | Write Outputs: h19, h20 | Wait: Retire | Retire | | | | | | | | | |
59 | 0x108: addi r9 \<- r9, 100 | | | | | | | Fetch | Decode 0 | Renamed: addi h21 \<- h19, 100 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Read Inputs: h19 | Write Outputs: h21 | Retire | | | | | | | | | |
60 | 0x10c: std r9, 0(r3) | | | | | | | Fetch | Decode 0 | Renamed: std h21, 0(h20) | Wait: h21, h20 | Wait: h21, h20 | Wait: h21, h20 | Wait: h21, h20 | Wait: h21 | Read Inputs: h21, h20 | Write Outputs: | Retire | | | | | | | | |
61 | 0x110: bdnz .L2 | | | | | | | Fetch | Decode 0 | Renamed: bdnz h22 \<- h18, .L2 | Read Inputs: h18 | Write Outputs: h22 | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Retire | | | | | | | | |
62 | 0x104: ldu r9, 8(r3) | | | | | | | | Fetch | Decode 0 | Renamed: ldu h23, 8(h20 -> h24) | Wait: h20 | Wait: h20 | Wait: h20 | Wait: all execution pipes busy | Wait: all execution pipes busy | Read Inputs: h20 | Write Outputs: h23, h24 | Retire | | | | | | | |
63 | 0x108: addi r9 \<- r9, 100 | | | | | | | | Fetch | Decode 0 | Renamed: addi h25 \<- h23, 100 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Read Inputs: h23 | Write Outputs: h25 | Retire | | | | | | |
64 | 0x10c: std r9, 0(r3) | | | | | | | | Fetch | Decode 0 | Renamed: std h25, 0(h24) | Wait: h25, h24 | Wait: h25, h24 | Wait: h25, h24 | Wait: h25, h24 | Wait: h25, h24 | Wait: h25, h24 | Wait: h25 | Read Inputs: h25, h24 | Write Outputs: | Retire | | | | | |
65 | 0x110: bdnz .L2 | | | | | | | | Fetch | Decode 0 | Renamed: bdnz h26 \<- h22, .L2 | Read Inputs: h22 | Write Outputs: h26 | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Wait: Retire | Retire | | | | | |
66
67 # 8 decode stages, 8 wide
68
69 | Cycle | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
70 |----------------------------|-----|-------|----------|----------|----------|----------|----------|----------|----------|----------|------------------------------|--------------------------------|---------------------------------|---------------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-----------------------|----------------|--------|-----|-----|-----|-----|
71 | 0x100: mtctr r4 | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: mtctr h2 \<- h1 | Read Inputs: h1 | Write Outputs: h2 | Retire | | | | | | | | | | | |
72 | 0x104: ldu r9, 8(r3) | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: ldu h3, 8(h0 -> h4) | Read Inputs: h0 | Write Outputs: h3, h4 | Retire | | | | | | | | | | | |
73 | 0x108: addi r9 \<- r9, 100 | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: addi h5 \<- h3, 100 | Wait: h3 | Read Inputs: h3 | Write Outputs: h5 | Retire | | | | | | | | | | |
74 | 0x10c: std r9, 0(r3) | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: std h5, 0(h4) | Wait: h5, h4 | Wait: h5 | Read Inputs: h5, h4 | Write Outputs: | Retire | | | | | | | | | |
75 | 0x110: bdnz .L2 | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: bdnz h6 \<- h2, .L2 | Wait: h2 | Read Inputs: h2 | Write Outputs: h6 | Wait: Retire | Retire | | | | | | | | | |
76 | 0x104: ldu r9, 8(r3) | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: ldu h7, 8(h4 -> h8) | Wait: h4 | Read Inputs: h4 | Write Outputs: h7, h8 | Wait: Retire | Retire | | | | | | | | | |
77 | 0x108: addi r9 \<- r9, 100 | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: addi h9 \<- h7, 100 | Wait: h7 | Wait: h7 | Read Inputs: h7 | Write Outputs: h9 | Retire | | | | | | | | | |
78 | 0x10c: std r9, 0(r3) | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: std h9, 0(h8) | Wait: h9, h8 | Wait: h9, h8 | Wait: h9 | Read Inputs: h9, h8 | Write Outputs: | Retire | | | | | | | | |
79 | 0x110: bdnz .L2 | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: bdnz h10 \<- h6, .L2 | Wait: h6 | Read Inputs: h6 | Write Outputs: h10 | Wait: Retire | Retire | | | | | | | | |
80 | 0x104: ldu r9, 8(r3) | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: ldu h11, 8(h8 -> h12) | Wait: h8 | Read Inputs: h8 | Write Outputs: h11, h12 | Wait: Retire | Retire | | | | | | | | |
81 | 0x108: addi r9 \<- r9, 100 | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: addi h13 \<- h11, 100 | Wait: h11 | Wait: h11 | Read Inputs: h11 | Write Outputs: h13 | Retire | | | | | | | | |
82 | 0x10c: std r9, 0(r3) | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: std h13, 0(h12) | Wait: h13, h12 | Wait: h13, h12 | Wait: h13 | Read Inputs: h13, h12 | Write Outputs: | Retire | | | | | | | |
83 | 0x110: bdnz .L2 | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: bdnz h14 \<- h10, .L2 | Wait: h10 | Wait: h10 | Read Inputs: h10 | Write Outputs: h14 | Wait: Retire | Retire | | | | | | | |
84 | 0x104: ldu r9, 8(r3) | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: ldu h15, 8(h12 -> h16) | Wait: h12 | Read Inputs: h12 | Write Outputs: h15, h16 | Wait: Retire | Retire | | | | | | | |
85 | 0x108: addi r9 \<- r9, 100 | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: addi h17 \<- h15, 100 | Wait: h15 | Wait: h15 | Read Inputs: h15 | Write Outputs: h17 | Retire | | | | | | | |
86 | 0x10c: std r9, 0(r3) | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: std h17, 0(h16) | Wait: h17, h16 | Wait: h17, h16 | Wait: h17 | Read Inputs: h17, h16 | Write Outputs: | Retire | | | | | | |
87 | 0x110: bdnz .L2 | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: bdnz h18 \<- h14, .L2 | Wait: h14 | Wait: h14 | Read Inputs: h14 | Write Outputs: h18 | Wait: Retire | Retire | | | | | | |
88 | 0x104: ldu r9, 8(r3) | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: ldu h19, 8(h16 -> h20) | Wait: h16 | Wait: h16 | Read Inputs: h16 | Write Outputs: h19, h20 | Wait: Retire | Retire | | | | | | |
89 | 0x108: addi r9 \<- r9, 100 | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: addi h21 \<- h19, 100 | Wait: h19 | Wait: h19 | Wait: h19 | Read Inputs: h19 | Write Outputs: h21 | Retire | | | | | | |
90 | 0x10c: std r9, 0(r3) | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: std h21, 0(h20) | Wait: h21, h20 | Wait: h21, h20 | Wait: h21, h20 | Wait: h21 | Read Inputs: h21, h20 | Write Outputs: | Retire | | | | | |
91 | 0x110: bdnz .L2 | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: bdnz h22 \<- h18, .L2 | Wait: h18 | Wait: h18 | Wait: h18 | Read Inputs: h18 | Write Outputs: h22 | Wait: Retire | Retire | | | | | |
92 | 0x104: ldu r9, 8(r3) | | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: ldu h23, 8(h20 -> h24) | Wait: h20 | Wait: h20 | Read Inputs: h20 | Write Outputs: h23, h24 | Wait: Retire | Retire | | | | | |
93 | 0x108: addi r9 \<- r9, 100 | | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: addi h25 \<- h23, 100 | Wait: h23 | Wait: h23 | Wait: h23 | Read Inputs: h23 | Write Outputs: h25 | Retire | | | | | |
94 | 0x10c: std r9, 0(r3) | | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: std h25, 0(h24) | Wait: h25, h24 | Wait: h25, h24 | Wait: h25, h24 | Wait: h25 | Read Inputs: h25, h24 | Write Outputs: | Retire | | | | |
95 | 0x110: bdnz .L2 | | | | | Fetch | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Decode 8 | Renamed: bdnz h26 \<- h22, .L2 | Wait: h22 | Wait: h22 | Wait: h22 | Read Inputs: h22 | Write Outputs: h26 | Wait: Retire | Retire | | | | |
96
97 # 1 decode stage, 8 wide
98
99 | Cycle | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
100 |----------------------------|-----|-------|----------|------------------------------|--------------------------------|---------------------------------|---------------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-----------------------|----------------|--------|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
101 | 0x100: mtctr r4 | | Fetch | Decode 1 | Renamed: mtctr h2 \<- h1 | Read Inputs: h1 | Write Outputs: h2 | Retire | | | | | | | | | | | | | | | | | | |
102 | 0x104: ldu r9, 8(r3) | | Fetch | Decode 1 | Renamed: ldu h3, 8(h0 -> h4) | Read Inputs: h0 | Write Outputs: h3, h4 | Retire | | | | | | | | | | | | | | | | | | |
103 | 0x108: addi r9 \<- r9, 100 | | Fetch | Decode 1 | Renamed: addi h5 \<- h3, 100 | Wait: h3 | Read Inputs: h3 | Write Outputs: h5 | Retire | | | | | | | | | | | | | | | | | |
104 | 0x10c: std r9, 0(r3) | | Fetch | Decode 1 | Renamed: std h5, 0(h4) | Wait: h5, h4 | Wait: h5 | Read Inputs: h5, h4 | Write Outputs: | Retire | | | | | | | | | | | | | | | | |
105 | 0x110: bdnz .L2 | | Fetch | Decode 1 | Renamed: bdnz h6 \<- h2, .L2 | Wait: h2 | Read Inputs: h2 | Write Outputs: h6 | Wait: Retire | Retire | | | | | | | | | | | | | | | | |
106 | 0x104: ldu r9, 8(r3) | | Fetch | Decode 1 | Renamed: ldu h7, 8(h4 -> h8) | Wait: h4 | Read Inputs: h4 | Write Outputs: h7, h8 | Wait: Retire | Retire | | | | | | | | | | | | | | | | |
107 | 0x108: addi r9 \<- r9, 100 | | Fetch | Decode 1 | Renamed: addi h9 \<- h7, 100 | Wait: h7 | Wait: h7 | Read Inputs: h7 | Write Outputs: h9 | Retire | | | | | | | | | | | | | | | | |
108 | 0x10c: std r9, 0(r3) | | Fetch | Decode 1 | Renamed: std h9, 0(h8) | Wait: h9, h8 | Wait: h9, h8 | Wait: h9 | Read Inputs: h9, h8 | Write Outputs: | Retire | | | | | | | | | | | | | | | |
109 | 0x110: bdnz .L2 | | | Fetch | Decode 1 | Renamed: bdnz h10 \<- h6, .L2 | Wait: h6 | Read Inputs: h6 | Write Outputs: h10 | Wait: Retire | Retire | | | | | | | | | | | | | | | |
110 | 0x104: ldu r9, 8(r3) | | | Fetch | Decode 1 | Renamed: ldu h11, 8(h8 -> h12) | Wait: h8 | Read Inputs: h8 | Write Outputs: h11, h12 | Wait: Retire | Retire | | | | | | | | | | | | | | | |
111 | 0x108: addi r9 \<- r9, 100 | | | Fetch | Decode 1 | Renamed: addi h13 \<- h11, 100 | Wait: h11 | Wait: h11 | Read Inputs: h11 | Write Outputs: h13 | Retire | | | | | | | | | | | | | | | |
112 | 0x10c: std r9, 0(r3) | | | Fetch | Decode 1 | Renamed: std h13, 0(h12) | Wait: h13, h12 | Wait: h13, h12 | Wait: h13 | Read Inputs: h13, h12 | Write Outputs: | Retire | | | | | | | | | | | | | | |
113 | 0x110: bdnz .L2 | | | Fetch | Decode 1 | Renamed: bdnz h14 \<- h10, .L2 | Wait: h10 | Wait: h10 | Read Inputs: h10 | Write Outputs: h14 | Wait: Retire | Retire | | | | | | | | | | | | | | |
114 | 0x104: ldu r9, 8(r3) | | | | Fetch | Decode 1 | Renamed: ldu h15, 8(h12 -> h16) | Wait: h12 | Read Inputs: h12 | Write Outputs: h15, h16 | Wait: Retire | Retire | | | | | | | | | | | | | | |
115 | 0x108: addi r9 \<- r9, 100 | | | | Fetch | Decode 1 | Renamed: addi h17 \<- h15, 100 | Wait: h15 | Wait: h15 | Read Inputs: h15 | Write Outputs: h17 | Retire | | | | | | | | | | | | | | |
116 | 0x10c: std r9, 0(r3) | | | | Fetch | Decode 1 | Renamed: std h17, 0(h16) | Wait: h17, h16 | Wait: h17, h16 | Wait: h17 | Read Inputs: h17, h16 | Write Outputs: | Retire | | | | | | | | | | | | | |
117 | 0x110: bdnz .L2 | | | | Fetch | Decode 1 | Renamed: bdnz h18 \<- h14, .L2 | Wait: h14 | Wait: h14 | Read Inputs: h14 | Write Outputs: h18 | Wait: Retire | Retire | | | | | | | | | | | | | |
118 | 0x104: ldu r9, 8(r3) | | | | Fetch | Decode 1 | Renamed: ldu h19, 8(h16 -> h20) | Wait: h16 | Wait: h16 | Read Inputs: h16 | Write Outputs: h19, h20 | Wait: Retire | Retire | | | | | | | | | | | | | |
119 | 0x108: addi r9 \<- r9, 100 | | | | Fetch | Decode 1 | Renamed: addi h21 \<- h19, 100 | Wait: h19 | Wait: h19 | Wait: h19 | Read Inputs: h19 | Write Outputs: h21 | Retire | | | | | | | | | | | | | |
120 | 0x10c: std r9, 0(r3) | | | | Fetch | Decode 1 | Renamed: std h21, 0(h20) | Wait: h21, h20 | Wait: h21, h20 | Wait: h21, h20 | Wait: h21 | Read Inputs: h21, h20 | Write Outputs: | Retire | | | | | | | | | | | | |
121 | 0x110: bdnz .L2 | | | | Fetch | Decode 1 | Renamed: bdnz h22 \<- h18, .L2 | Wait: h18 | Wait: h18 | Wait: h18 | Read Inputs: h18 | Write Outputs: h22 | Wait: Retire | Retire | | | | | | | | | | | | |
122 | 0x104: ldu r9, 8(r3) | | | | | Fetch | Decode 1 | Renamed: ldu h23, 8(h20 -> h24) | Wait: h20 | Wait: h20 | Read Inputs: h20 | Write Outputs: h23, h24 | Wait: Retire | Retire | | | | | | | | | | | | |
123 | 0x108: addi r9 \<- r9, 100 | | | | | Fetch | Decode 1 | Renamed: addi h25 \<- h23, 100 | Wait: h23 | Wait: h23 | Wait: h23 | Read Inputs: h23 | Write Outputs: h25 | Retire | | | | | | | | | | | | |
124 | 0x10c: std r9, 0(r3) | | | | | Fetch | Decode 1 | Renamed: std h25, 0(h24) | Wait: h25, h24 | Wait: h25, h24 | Wait: h25, h24 | Wait: h25 | Read Inputs: h25, h24 | Write Outputs: | Retire | | | | | | | | | | | |
125 | 0x110: bdnz .L2 | | | | | Fetch | Decode 1 | Renamed: bdnz h26 \<- h22, .L2 | Wait: h22 | Wait: h22 | Wait: h22 | Read Inputs: h22 | Write Outputs: h26 | Wait: Retire | Retire | | | | | | | | | | | |
126
127 # simple loop, 1 decode stage, 8 wide
128
129 | Cycle | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
130 |---------------------------|-----|-------|----------|-----------------------------|------------------------------|-------------------------------|-------------------------------|-------------------------------|-------------------------------|----------------------------|------------------------------|-----------------------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|-------------------|-------------------|-------------------|-------------------|-------------------|----------------|--------|-----|-----|-----|-----|-----|-----|-----|
131 | 0x100: addi r3 \<- r3, -1 | | Fetch | Decode 0 | Renamed: addi h1 \<- h0, -1 | Read Inputs: h0 | Write Outputs: h1 | Retire | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
132 | 0x104: cmpdi r3, 0 | | Fetch | Decode 0 | Renamed: cmpdi h2 \<- h1, 0 | Wait: h1 | Read Inputs: h1 | Write Outputs: h2 | Retire | | | | | | | | | | | | | | | | | | | | | | | | | | | |
133 | 0x108: bne .L2 | | Fetch | Decode 0 | Renamed: bne h2, .L2 | Wait: h2 | Wait: h2 | Read Inputs: h2 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | | | | | | | | | |
134 | 0x100: addi r3 \<- r3, -1 | | Fetch | Decode 0 | Renamed: addi h3 \<- h1, -1 | Wait: h1 | Read Inputs: h1 | Write Outputs: h3 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | | | | | | | | | |
135 | 0x104: cmpdi r3, 0 | | Fetch | Decode 0 | Renamed: cmpdi h4 \<- h3, 0 | Wait: h3 | Wait: h3 | Read Inputs: h3 | Write Outputs: h4 | Retire | | | | | | | | | | | | | | | | | | | | | | | | | | |
136 | 0x108: bne .L2 | | Fetch | Decode 0 | Renamed: bne h4, .L2 | Wait: h4 | Wait: h4 | Wait: h4 | Read Inputs: h4 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | | | | | | | | |
137 | 0x100: addi r3 \<- r3, -1 | | Fetch | Decode 0 | Renamed: addi h5 \<- h3, -1 | Wait: h3 | Wait: h3 | Read Inputs: h3 | Write Outputs: h5 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | | | | | | | | |
138 | 0x104: cmpdi r3, 0 | | Fetch | Decode 0 | Renamed: cmpdi h6 \<- h5, 0 | Wait: h5 | Wait: h5 | Wait: h5 | Read Inputs: h5 | Write Outputs: h6 | Retire | | | | | | | | | | | | | | | | | | | | | | | | | |
139 | 0x108: bne .L2 | | | Fetch | Decode 0 | Renamed: bne h6, .L2 | Wait: h6 | Wait: h6 | Wait: h6 | Read Inputs: h6 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | | | | | | | |
140 | 0x100: addi r3 \<- r3, -1 | | | Fetch | Decode 0 | Renamed: addi h7 \<- h5, -1 | Wait: h5 | Wait: h5 | Read Inputs: h5 | Write Outputs: h7 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | | | | | | | |
141 | 0x104: cmpdi r3, 0 | | | Fetch | Decode 0 | Renamed: cmpdi h8 \<- h7, 0 | Wait: h7 | Wait: h7 | Wait: h7 | Read Inputs: h7 | Write Outputs: h8 | Retire | | | | | | | | | | | | | | | | | | | | | | | | |
142 | 0x108: bne .L2 | | | Fetch | Decode 0 | Renamed: bne h8, .L2 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Read Inputs: h8 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | | | | | | |
143 | 0x100: addi r3 \<- r3, -1 | | | Fetch | Decode 0 | Renamed: addi h9 \<- h7, -1 | Wait: h7 | Wait: h7 | Wait: h7 | Read Inputs: h7 | Write Outputs: h9 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | | | | | | |
144 | 0x104: cmpdi r3, 0 | | | Fetch | Decode 0 | Renamed: cmpdi h10 \<- h9, 0 | Wait: h9 | Wait: h9 | Wait: h9 | Wait: h9 | Read Inputs: h9 | Write Outputs: h10 | Retire | | | | | | | | | | | | | | | | | | | | | | | |
145 | 0x108: bne .L2 | | | Fetch | Decode 0 | Renamed: bne h10, .L2 | Wait: h10 | Wait: h10 | Wait: h10 | Wait: h10 | Wait: h10 | Read Inputs: h10 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | | | | | |
146 | 0x100: addi r3 \<- r3, -1 | | | Fetch | Decode 0 | Renamed: addi h11 \<- h9, -1 | Wait: h9 | Wait: h9 | Wait: h9 | Wait: h9 | Read Inputs: h9 | Write Outputs: h11 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | | | | | |
147 | 0x104: cmpdi r3, 0 | | | | Fetch | Decode 0 | Renamed: cmpdi h12 \<- h11, 0 | Wait: h11 | Wait: h11 | Wait: h11 | Wait: h11 | Read Inputs: h11 | Write Outputs: h12 | Retire | | | | | | | | | | | | | | | | | | | | | | |
148 | 0x108: bne .L2 | | | | Fetch | Decode 0 | Renamed: bne h12, .L2 | Wait: h12 | Wait: h12 | Wait: h12 | Wait: h12 | Wait: h12 | Read Inputs: h12 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | | | | |
149 | 0x100: addi r3 \<- r3, -1 | | | | Fetch | Decode 0 | Renamed: addi h13 \<- h11, -1 | Wait: h11 | Wait: h11 | Wait: h11 | Wait: h11 | Read Inputs: h11 | Write Outputs: h13 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | | | | |
150 | 0x104: cmpdi r3, 0 | | | | Fetch | Decode 0 | Renamed: cmpdi h14 \<- h13, 0 | Wait: h13 | Wait: h13 | Wait: h13 | Wait: h13 | Wait: h13 | Read Inputs: h13 | Write Outputs: h14 | Retire | | | | | | | | | | | | | | | | | | | | | |
151 | 0x108: bne .L2 | | | | Fetch | Decode 0 | Renamed: bne h14, .L2 | Wait: h14 | Wait: h14 | Wait: h14 | Wait: h14 | Wait: h14 | Wait: h14 | Read Inputs: h14 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | | | |
152 | 0x100: addi r3 \<- r3, -1 | | | | Fetch | Decode 0 | Renamed: addi h15 \<- h13, -1 | Wait: h13 | Wait: h13 | Wait: h13 | Wait: h13 | Wait: h13 | Read Inputs: h13 | Write Outputs: h15 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | | | |
153 | 0x104: cmpdi r3, 0 | | | | Fetch | Decode 0 | Renamed: cmpdi h16 \<- h15, 0 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Read Inputs: h15 | Write Outputs: h16 | Retire | | | | | | | | | | | | | | | | | | | | |
154 | 0x108: bne .L2 | | | | Fetch | Decode 0 | Renamed: bne h16, .L2 | Wait: h16 | Wait: h16 | Wait: h16 | Wait: h16 | Wait: h16 | Wait: h16 | Wait: h16 | Read Inputs: h16 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | | |
155 | 0x100: addi r3 \<- r3, -1 | | | | | Fetch | Decode 0 | Renamed: addi h17 \<- h15, -1 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Read Inputs: h15 | Write Outputs: h17 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | | |
156 | 0x104: cmpdi r3, 0 | | | | | Fetch | Decode 0 | Renamed: cmpdi h18 \<- h17, 0 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Read Inputs: h17 | Write Outputs: h18 | Retire | | | | | | | | | | | | | | | | | | | |
157 | 0x108: bne .L2 | | | | | Fetch | Decode 0 | Renamed: bne h18, .L2 | Wait: h18 | Wait: h18 | Wait: h18 | Wait: h18 | Wait: h18 | Wait: h18 | Wait: h18 | Read Inputs: h18 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | |
158 | 0x100: addi r3 \<- r3, -1 | | | | | Fetch | Decode 0 | Renamed: addi h19 \<- h17, -1 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Read Inputs: h17 | Write Outputs: h19 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | |
159 | 0x104: cmpdi r3, 0 | | | | | Fetch | Decode 0 | Renamed: cmpdi h20 \<- h19, 0 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Read Inputs: h19 | Write Outputs: h20 | Retire | | | | | | | | | | | | | | | | | | |
160 | 0x108: bne .L2 | | | | | Fetch | Decode 0 | Renamed: bne h20, .L2 | Wait: h20 | Wait: h20 | Wait: h20 | Wait: h20 | Wait: h20 | Wait: h20 | Wait: h20 | Wait: h20 | Read Inputs: h20 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | |
161 | 0x100: addi r3 \<- r3, -1 | | | | | Fetch | Decode 0 | Renamed: addi h21 \<- h19, -1 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Read Inputs: h19 | Write Outputs: h21 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | |
162 | 0x104: cmpdi r3, 0 | | | | | Fetch | Decode 0 | Renamed: cmpdi h22 \<- h21, 0 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Read Inputs: h21 | Write Outputs: h22 | Retire | | | | | | | | | | | | | | | | | |
163 | 0x108: bne .L2 | | | | | | Fetch | Decode 0 | Renamed: bne h22, .L2 | Wait: h22 | Wait: h22 | Wait: h22 | Wait: h22 | Wait: h22 | Wait: h22 | Wait: h22 | Wait: h22 | Read Inputs: h22 | Write Outputs: | Retire | | | | | | | | | | | | | | | | |
164 | 0x100: addi r3 \<- r3, -1 | | | | | | Fetch | Decode 0 | Renamed: addi h23 \<- h21, -1 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Read Inputs: h21 | Write Outputs: h23 | Wait: Retire | Retire | | | | | | | | | | | | | | | | |
165 | 0x104: cmpdi r3, 0 | | | | | | Fetch | Decode 0 | Renamed: cmpdi h24 \<- h23, 0 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Read Inputs: h23 | Write Outputs: h24 | Retire | | | | | | | | | | | | | | | | |
166 | 0x108: bne .L2 | | | | | | Fetch | Decode 0 | Renamed: bne h24, .L2 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Read Inputs: h24 | Write Outputs: | Retire | | | | | | | | | | | | | | | |
167 | 0x100: addi r3 \<- r3, -1 | | | | | | Fetch | Decode 0 | Renamed: addi h25 \<- h23, -1 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Read Inputs: h23 | Write Outputs: h25 | Wait: Retire | Retire | | | | | | | | | | | | | | | |
168 | 0x104: cmpdi r3, 0 | | | | | | Fetch | Decode 0 | Renamed: cmpdi h26 \<- h25, 0 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Read Inputs: h25 | Write Outputs: h26 | Retire | | | | | | | | | | | | | | | |
169 | 0x108: bne .L2 | | | | | | Fetch | Decode 0 | Renamed: bne h26, .L2 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Read Inputs: h26 | Write Outputs: | Retire | | | | | | | | | | | | | | |
170 | 0x100: addi r3 \<- r3, -1 | | | | | | Fetch | Decode 0 | Renamed: addi h27 \<- h25, -1 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Read Inputs: h25 | Write Outputs: h27 | Wait: Retire | Retire | | | | | | | | | | | | | | |
171 | 0x104: cmpdi r3, 0 | | | | | | | Fetch | Decode 0 | Renamed: cmpdi h28 \<- h27, 0 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Read Inputs: h27 | Write Outputs: h28 | Retire | | | | | | | | | | | | | | |
172 | 0x108: bne .L2 | | | | | | | Fetch | Decode 0 | Renamed: bne h28, .L2 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Read Inputs: h28 | Write Outputs: | Retire | | | | | | | | | | | | | |
173 | 0x100: addi r3 \<- r3, -1 | | | | | | | Fetch | Decode 0 | Renamed: addi h29 \<- h27, -1 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Read Inputs: h27 | Write Outputs: h29 | Wait: Retire | Retire | | | | | | | | | | | | | |
174 | 0x104: cmpdi r3, 0 | | | | | | | Fetch | Decode 0 | Renamed: cmpdi h30 \<- h29, 0 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Read Inputs: h29 | Write Outputs: h30 | Retire | | | | | | | | | | | | | |
175 | 0x108: bne .L2 | | | | | | | Fetch | Decode 0 | Renamed: bne h30, .L2 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Read Inputs: h30 | Write Outputs: | Retire | | | | | | | | | | | | |
176 | 0x100: addi r3 \<- r3, -1 | | | | | | | Fetch | Decode 0 | Renamed: addi h31 \<- h29, -1 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Read Inputs: h29 | Write Outputs: h31 | Wait: Retire | Retire | | | | | | | | | | | | |
177 | 0x104: cmpdi r3, 0 | | | | | | | Fetch | Decode 0 | Renamed: cmpdi h0 \<- h31, 0 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Read Inputs: h31 | Write Outputs: h0 | Retire | | | | | | | | | | | | |
178 | 0x108: bne .L2 | | | | | | | Fetch | Decode 0 | Renamed: bne h0, .L2 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Read Inputs: h0 | Write Outputs: | Retire | | | | | | | | | | | |
179 | 0x100: addi r3 \<- r3, -1 | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Renamed: addi h2 \<- h31, -1 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Read Inputs: h31 | Write Outputs: h2 | Wait: Retire | Retire | | | | | | | | | | | |
180 | 0x104: cmpdi r3, 0 | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Renamed: cmpdi h1 \<- h2, 0 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Read Inputs: h2 | Write Outputs: h1 | Retire | | | | | | | | | | | |
181 | 0x108: bne .L2 | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Renamed: bne h1, .L2 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Read Inputs: h1 | Write Outputs: | Retire | | | | | | | | | | |
182 | 0x100: addi r3 \<- r3, -1 | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Wait: not enough free regs | Renamed: addi h4 \<- h2, -1 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Read Inputs: h2 | Write Outputs: h4 | Wait: Retire | Retire | | | | | | | | | | |
183 | 0x104: cmpdi r3, 0 | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Wait: not enough free regs | Renamed: cmpdi h3 \<- h4, 0 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Read Inputs: h4 | Write Outputs: h3 | Retire | | | | | | | | | | |
184 | 0x108: bne .L2 | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Wait: not enough free regs | Renamed: bne h3, .L2 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Read Inputs: h3 | Write Outputs: | Retire | | | | | | | | | |
185 | 0x100: addi r3 \<- r3, -1 | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Wait: not enough free regs | Wait: not enough free regs | Renamed: addi h6 \<- h4, -1 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Read Inputs: h4 | Write Outputs: h6 | Wait: Retire | Retire | | | | | | | | | |
186 | 0x104: cmpdi r3, 0 | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Wait: not enough free regs | Wait: not enough free regs | Renamed: cmpdi h5 \<- h6, 0 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Read Inputs: h6 | Write Outputs: h5 | Retire | | | | | | | | | |
187 | 0x108: bne .L2 | | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Wait: not enough free regs | Renamed: bne h5, .L2 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Read Inputs: h5 | Write Outputs: | Retire | | | | | | | | |
188 | 0x100: addi r3 \<- r3, -1 | | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Wait: not enough free regs | Wait: not enough free regs | Renamed: addi h8 \<- h6, -1 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Read Inputs: h6 | Write Outputs: h8 | Wait: Retire | Retire | | | | | | | | |
189 | 0x104: cmpdi r3, 0 | | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Wait: not enough free regs | Wait: not enough free regs | Renamed: cmpdi h7 \<- h8, 0 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Read Inputs: h8 | Write Outputs: h7 | Retire | | | | | | | | |
190 | 0x108: bne .L2 | | | | | | | | | Fetch | Decode 0 | Wait: not enough free regs | Wait: not enough free regs | Wait: not enough free regs | Renamed: bne h7, .L2 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Read Inputs: h7 | Write Outputs: | Retire | | | | | | | |
191
192 # simple loop, 8 decode stages, 8 wide
193
194 | Cycle | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 |
195 |---------------------------|-----|-------|----------|----------|----------|----------|----------|----------|----------|----------|-----------------------------|------------------------------|-------------------------------|-------------------------------|-------------------------------|-------------------------------|----------------------------|------------------------------|-----------------------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|-------------------|-------------------|-------------------|-------------------|-------------------|----------------|--------|
196 | 0x100: addi r3 \<- r3, -1 | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h1 \<- h0, -1 | Read Inputs: h0 | Write Outputs: h1 | Retire | | | | | | | | | | | | | | | | | | | | | |
197 | 0x104: cmpdi r3, 0 | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h2 \<- h1, 0 | Wait: h1 | Read Inputs: h1 | Write Outputs: h2 | Retire | | | | | | | | | | | | | | | | | | | | |
198 | 0x108: bne .L2 | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h2, .L2 | Wait: h2 | Wait: h2 | Read Inputs: h2 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | | |
199 | 0x100: addi r3 \<- r3, -1 | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h3 \<- h1, -1 | Wait: h1 | Read Inputs: h1 | Write Outputs: h3 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | | |
200 | 0x104: cmpdi r3, 0 | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h4 \<- h3, 0 | Wait: h3 | Wait: h3 | Read Inputs: h3 | Write Outputs: h4 | Retire | | | | | | | | | | | | | | | | | | | |
201 | 0x108: bne .L2 | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h4, .L2 | Wait: h4 | Wait: h4 | Wait: h4 | Read Inputs: h4 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | | |
202 | 0x100: addi r3 \<- r3, -1 | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h5 \<- h3, -1 | Wait: h3 | Wait: h3 | Read Inputs: h3 | Write Outputs: h5 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | | |
203 | 0x104: cmpdi r3, 0 | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h6 \<- h5, 0 | Wait: h5 | Wait: h5 | Wait: h5 | Read Inputs: h5 | Write Outputs: h6 | Retire | | | | | | | | | | | | | | | | | | |
204 | 0x108: bne .L2 | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h6, .L2 | Wait: h6 | Wait: h6 | Wait: h6 | Read Inputs: h6 | Write Outputs: | Retire | | | | | | | | | | | | | | | | | |
205 | 0x100: addi r3 \<- r3, -1 | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h7 \<- h5, -1 | Wait: h5 | Wait: h5 | Read Inputs: h5 | Write Outputs: h7 | Wait: Retire | Retire | | | | | | | | | | | | | | | | | |
206 | 0x104: cmpdi r3, 0 | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h8 \<- h7, 0 | Wait: h7 | Wait: h7 | Wait: h7 | Read Inputs: h7 | Write Outputs: h8 | Retire | | | | | | | | | | | | | | | | | |
207 | 0x108: bne .L2 | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h8, .L2 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Read Inputs: h8 | Write Outputs: | Retire | | | | | | | | | | | | | | | | |
208 | 0x100: addi r3 \<- r3, -1 | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h9 \<- h7, -1 | Wait: h7 | Wait: h7 | Wait: h7 | Read Inputs: h7 | Write Outputs: h9 | Wait: Retire | Retire | | | | | | | | | | | | | | | | |
209 | 0x104: cmpdi r3, 0 | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h10 \<- h9, 0 | Wait: h9 | Wait: h9 | Wait: h9 | Wait: h9 | Read Inputs: h9 | Write Outputs: h10 | Retire | | | | | | | | | | | | | | | | |
210 | 0x108: bne .L2 | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h10, .L2 | Wait: h10 | Wait: h10 | Wait: h10 | Wait: h10 | Wait: h10 | Read Inputs: h10 | Write Outputs: | Retire | | | | | | | | | | | | | | | |
211 | 0x100: addi r3 \<- r3, -1 | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h11 \<- h9, -1 | Wait: h9 | Wait: h9 | Wait: h9 | Wait: h9 | Read Inputs: h9 | Write Outputs: h11 | Wait: Retire | Retire | | | | | | | | | | | | | | | |
212 | 0x104: cmpdi r3, 0 | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h12 \<- h11, 0 | Wait: h11 | Wait: h11 | Wait: h11 | Wait: h11 | Read Inputs: h11 | Write Outputs: h12 | Retire | | | | | | | | | | | | | | | |
213 | 0x108: bne .L2 | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h12, .L2 | Wait: h12 | Wait: h12 | Wait: h12 | Wait: h12 | Wait: h12 | Read Inputs: h12 | Write Outputs: | Retire | | | | | | | | | | | | | | |
214 | 0x100: addi r3 \<- r3, -1 | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h13 \<- h11, -1 | Wait: h11 | Wait: h11 | Wait: h11 | Wait: h11 | Read Inputs: h11 | Write Outputs: h13 | Wait: Retire | Retire | | | | | | | | | | | | | | |
215 | 0x104: cmpdi r3, 0 | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h14 \<- h13, 0 | Wait: h13 | Wait: h13 | Wait: h13 | Wait: h13 | Wait: h13 | Read Inputs: h13 | Write Outputs: h14 | Retire | | | | | | | | | | | | | | |
216 | 0x108: bne .L2 | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h14, .L2 | Wait: h14 | Wait: h14 | Wait: h14 | Wait: h14 | Wait: h14 | Wait: h14 | Read Inputs: h14 | Write Outputs: | Retire | | | | | | | | | | | | | |
217 | 0x100: addi r3 \<- r3, -1 | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h15 \<- h13, -1 | Wait: h13 | Wait: h13 | Wait: h13 | Wait: h13 | Wait: h13 | Read Inputs: h13 | Write Outputs: h15 | Wait: Retire | Retire | | | | | | | | | | | | | |
218 | 0x104: cmpdi r3, 0 | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h16 \<- h15, 0 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Read Inputs: h15 | Write Outputs: h16 | Retire | | | | | | | | | | | | | |
219 | 0x108: bne .L2 | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h16, .L2 | Wait: h16 | Wait: h16 | Wait: h16 | Wait: h16 | Wait: h16 | Wait: h16 | Wait: h16 | Read Inputs: h16 | Write Outputs: | Retire | | | | | | | | | | | | |
220 | 0x100: addi r3 \<- r3, -1 | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h17 \<- h15, -1 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Wait: h15 | Read Inputs: h15 | Write Outputs: h17 | Wait: Retire | Retire | | | | | | | | | | | | |
221 | 0x104: cmpdi r3, 0 | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h18 \<- h17, 0 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Read Inputs: h17 | Write Outputs: h18 | Retire | | | | | | | | | | | | |
222 | 0x108: bne .L2 | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h18, .L2 | Wait: h18 | Wait: h18 | Wait: h18 | Wait: h18 | Wait: h18 | Wait: h18 | Wait: h18 | Read Inputs: h18 | Write Outputs: | Retire | | | | | | | | | | | |
223 | 0x100: addi r3 \<- r3, -1 | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h19 \<- h17, -1 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Wait: h17 | Read Inputs: h17 | Write Outputs: h19 | Wait: Retire | Retire | | | | | | | | | | | |
224 | 0x104: cmpdi r3, 0 | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h20 \<- h19, 0 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Read Inputs: h19 | Write Outputs: h20 | Retire | | | | | | | | | | | |
225 | 0x108: bne .L2 | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h20, .L2 | Wait: h20 | Wait: h20 | Wait: h20 | Wait: h20 | Wait: h20 | Wait: h20 | Wait: h20 | Wait: h20 | Read Inputs: h20 | Write Outputs: | Retire | | | | | | | | | | |
226 | 0x100: addi r3 \<- r3, -1 | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h21 \<- h19, -1 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Wait: h19 | Read Inputs: h19 | Write Outputs: h21 | Wait: Retire | Retire | | | | | | | | | | |
227 | 0x104: cmpdi r3, 0 | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h22 \<- h21, 0 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Read Inputs: h21 | Write Outputs: h22 | Retire | | | | | | | | | | |
228 | 0x108: bne .L2 | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h22, .L2 | Wait: h22 | Wait: h22 | Wait: h22 | Wait: h22 | Wait: h22 | Wait: h22 | Wait: h22 | Wait: h22 | Read Inputs: h22 | Write Outputs: | Retire | | | | | | | | | |
229 | 0x100: addi r3 \<- r3, -1 | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h23 \<- h21, -1 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Wait: h21 | Read Inputs: h21 | Write Outputs: h23 | Wait: Retire | Retire | | | | | | | | | |
230 | 0x104: cmpdi r3, 0 | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h24 \<- h23, 0 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Read Inputs: h23 | Write Outputs: h24 | Retire | | | | | | | | | |
231 | 0x108: bne .L2 | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h24, .L2 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Wait: h24 | Read Inputs: h24 | Write Outputs: | Retire | | | | | | | | |
232 | 0x100: addi r3 \<- r3, -1 | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h25 \<- h23, -1 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Wait: h23 | Read Inputs: h23 | Write Outputs: h25 | Wait: Retire | Retire | | | | | | | | |
233 | 0x104: cmpdi r3, 0 | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h26 \<- h25, 0 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Read Inputs: h25 | Write Outputs: h26 | Retire | | | | | | | | |
234 | 0x108: bne .L2 | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h26, .L2 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Wait: h26 | Read Inputs: h26 | Write Outputs: | Retire | | | | | | | |
235 | 0x100: addi r3 \<- r3, -1 | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h27 \<- h25, -1 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Wait: h25 | Read Inputs: h25 | Write Outputs: h27 | Wait: Retire | Retire | | | | | | | |
236 | 0x104: cmpdi r3, 0 | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h28 \<- h27, 0 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Read Inputs: h27 | Write Outputs: h28 | Retire | | | | | | | |
237 | 0x108: bne .L2 | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h28, .L2 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Wait: h28 | Read Inputs: h28 | Write Outputs: | Retire | | | | | | |
238 | 0x100: addi r3 \<- r3, -1 | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h29 \<- h27, -1 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Wait: h27 | Read Inputs: h27 | Write Outputs: h29 | Wait: Retire | Retire | | | | | | |
239 | 0x104: cmpdi r3, 0 | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h30 \<- h29, 0 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Read Inputs: h29 | Write Outputs: h30 | Retire | | | | | | |
240 | 0x108: bne .L2 | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h30, .L2 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Wait: h30 | Read Inputs: h30 | Write Outputs: | Retire | | | | | |
241 | 0x100: addi r3 \<- r3, -1 | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: addi h31 \<- h29, -1 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Wait: h29 | Read Inputs: h29 | Write Outputs: h31 | Wait: Retire | Retire | | | | | |
242 | 0x104: cmpdi r3, 0 | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: cmpdi h0 \<- h31, 0 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Read Inputs: h31 | Write Outputs: h0 | Retire | | | | | |
243 | 0x108: bne .L2 | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Renamed: bne h0, .L2 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Wait: h0 | Read Inputs: h0 | Write Outputs: | Retire | | | | |
244 | 0x100: addi r3 \<- r3, -1 | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Renamed: addi h2 \<- h31, -1 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Wait: h31 | Read Inputs: h31 | Write Outputs: h2 | Wait: Retire | Retire | | | | |
245 | 0x104: cmpdi r3, 0 | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Renamed: cmpdi h1 \<- h2, 0 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Read Inputs: h2 | Write Outputs: h1 | Retire | | | | |
246 | 0x108: bne .L2 | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Renamed: bne h1, .L2 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Wait: h1 | Read Inputs: h1 | Write Outputs: | Retire | | | |
247 | 0x100: addi r3 \<- r3, -1 | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Wait: not enough free regs | Renamed: addi h4 \<- h2, -1 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Wait: h2 | Read Inputs: h2 | Write Outputs: h4 | Wait: Retire | Retire | | | |
248 | 0x104: cmpdi r3, 0 | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Wait: not enough free regs | Renamed: cmpdi h3 \<- h4, 0 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Read Inputs: h4 | Write Outputs: h3 | Retire | | | |
249 | 0x108: bne .L2 | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Wait: not enough free regs | Renamed: bne h3, .L2 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Wait: h3 | Read Inputs: h3 | Write Outputs: | Retire | | |
250 | 0x100: addi r3 \<- r3, -1 | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Wait: not enough free regs | Wait: not enough free regs | Renamed: addi h6 \<- h4, -1 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Wait: h4 | Read Inputs: h4 | Write Outputs: h6 | Wait: Retire | Retire | | |
251 | 0x104: cmpdi r3, 0 | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Wait: not enough free regs | Wait: not enough free regs | Renamed: cmpdi h5 \<- h6, 0 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Read Inputs: h6 | Write Outputs: h5 | Retire | | |
252 | 0x108: bne .L2 | | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Wait: not enough free regs | Renamed: bne h5, .L2 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Wait: h5 | Read Inputs: h5 | Write Outputs: | Retire | |
253 | 0x100: addi r3 \<- r3, -1 | | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Wait: not enough free regs | Wait: not enough free regs | Renamed: addi h8 \<- h6, -1 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Wait: h6 | Read Inputs: h6 | Write Outputs: h8 | Wait: Retire | Retire | |
254 | 0x104: cmpdi r3, 0 | | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Wait: not enough free regs | Wait: not enough free regs | Renamed: cmpdi h7 \<- h8, 0 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Wait: h8 | Read Inputs: h8 | Write Outputs: h7 | Retire | |
255 | 0x108: bne .L2 | | | | | | | | | Fetch | Decode 0 | Decode 1 | Decode 2 | Decode 3 | Decode 4 | Decode 5 | Decode 6 | Decode 7 | Wait: not enough free regs | Wait: not enough free regs | Wait: not enough free regs | Renamed: bne h7, .L2 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Wait: h7 | Read Inputs: h7 | Write Outputs: | Retire |