Open
Description
Consider the following loop:
add [rdx], 1
I imagine OSACA will report it has having no loop carried dependencies. However, the actual iteration time of such a loop is 4-6 cycles, since there is a dependency through the memory location [rdx]
, which isn't detected by OSACA which only knows about register dependencies (I think).
Obviously, real world examples are more complicated, but the basic idea is the same: some subsequent iteration (not necessarily exactly the succeeding one, it could be later) may read a value from memory written by a the same or a previous iteration, forming a dependency.
Metadata
Metadata
Assignees
Labels
No labels