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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
Iterations: 100
Instructions: 1900
Total Cycles: 641
Total uOps: 2000
Dispatch Width: 4
uOps Per Cycle: 3.12
IPC: 2.96
Block RThroughput: 5.0
Instruction Info:
[1]: #uOps
[2]: Latency
[3]: RThroughput
[4]: MayLoad
[5]: MayStore
[6]: HasSideEffects (U)
[1] [2] [3] [4] [5] [6] Instructions:
1 1 0.33 cmp rsi, 12
1 1 0.50 setae al
1 1 0.33 mov ecx, esi
1 1 0.33 or ecx, edi
1 1 0.33 test cl, 3
1 1 0.50 sete cl
1 1 0.33 and cl, al
1 1 0.33 cmp cl, 1
1 1 1.00 je .LBB5_2
1 0 0.25 xor edi, edi
1 1 0.33 mov rax, rdi
1 1 1.00 U ret
1 1 0.33 add rsi, -9
1 1 0.33 movabs rcx, -6148914691236517205
1 1 0.33 mov rax, rsi
2 4 1.00 mul rcx
1 1 0.50 shr rdx
1 1 0.33 mov rax, rdi
1 1 1.00 U ret
Resources:
[0] - SBDivider
[1] - SBFPDivider
[2] - SBPort0
[3] - SBPort1
[4] - SBPort4
[5] - SBPort5
[6.0] - SBPort23
[6.1] - SBPort23
Resource pressure per iteration:
[0] [1] [2] [3] [4] [5] [6.0] [6.1]
- - 6.33 6.33 - 6.34 - -
Resource pressure by instruction:
[0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
- - 0.99 - - 0.01 - - cmp rsi, 12
- - 1.00 - - - - - setae al
- - - 0.34 - 0.66 - - mov ecx, esi
- - - 0.99 - 0.01 - - or ecx, edi
- - - 1.00 - - - - test cl, 3
- - 0.67 - - 0.33 - - sete cl
- - - 1.00 - - - - and cl, al
- - - 1.00 - - - - cmp cl, 1
- - - - - 1.00 - - je .LBB5_2
- - - - - - - - xor edi, edi
- - 0.66 - - 0.34 - - mov rax, rdi
- - - - - 1.00 - - ret
- - 0.35 0.01 - 0.64 - - add rsi, -9
- - 0.65 0.33 - 0.02 - - movabs rcx, -6148914691236517205
- - 0.01 0.33 - 0.66 - - mov rax, rsi
- - 1.00 1.00 - - - - mul rcx
- - 1.00 - - - - - shr rdx
- - - 0.33 - 0.67 - - mov rax, rdi
- - - - - 1.00 - - ret
|