On 06-Dec-13 01:34 AM, Maxim Kuvyrkov wrote:
On 6/12/2013, at 8:44 am, shmeel gutl <shmeelg...@shmuelhome.mine.nu> wrote:
On 05-Dec-13 02:39 AM, Maxim Kuvyrkov wrote:
Dependency type plays a role for estimating costs and latencies between
instructions (which affects performance), but using wrong or imprecise
dependency type does not affect correctness.
On multi-issue architectures it does make a difference. Anti dependence permits
the two instructions to be issued during the same cycle whereas true dependency
and output dependency would forbid this.
Or am I misinterpreting your comment?
On VLIW-flavoured machines without resource conflict checking -- "yes", it is
critical not to use anti dependency where an output or true dependency exist. This is
the case though, only because these machines do not follow sequential semantics for
instruction execution (i.e., effects from previous instructions are not necessarily
observed by subsequent instructions on the same/close cycles.
On machines with internal resource conflict checking having a wrong type on the
dependency should not cause wrong behavior, but "only" suboptimal performance.
Thank you,
--
Maxim Kuvyrkov
www.kugelworks.com
Earlier in the thread you wrote
Output dependency is the right type (write after write). Anti dependency is
write after read, and true dependency is read after write.
Should the code be changed to accommodate vliw machines.. It has been
there since the module was originally checked into trunk.