Reputation: 41962
When compiling with ICC, after every instruction is 2 dot-separated numbers prefixed with a hash sign. What does that mean?
L__routine_start__Z12testFunctionPii_0:
testFunction(int*, int):
push rbp #1.42
mov rbp, rsp #1.42
sub rsp, 32 #1.42
mov QWORD PTR [-24+rbp], rdi #1.42
mov DWORD PTR [-16+rbp], esi #1.42
mov DWORD PTR [-32+rbp], 0 #2.11
mov DWORD PTR [-28+rbp], 0 #3.14
..B1.2: # Preds ..B1.3 ..B1.1
mov eax, DWORD PTR [-28+rbp] #3.19
mov edx, DWORD PTR [-16+rbp] #3.23
cmp eax, edx #3.23
jge ..B1.4 # Prob 50% #3.23
...
Upvotes: 4
Views: 275
Reputation: 1863
It's a comment and contains the line and column information of the origin source so you can follow where the instruction comes from. Depending on the optimization level and features like out-of-order execution
the lines must not be in a natural order.
Upvotes: 1