[#6802] simulator should use STORE instead of SET_xREG
Submitted By: Stuart Henderson
2011-09-28 13:11:24 Close Date
N/A Silicon Revision:
Fixed Fixed In Release:
Host Operating System:
Closed Found In Release:
Is this bug repeatable?:
Summary: simulator should use STORE instead of SET_xREG
A customer has reported that certain instructions give erroneous results on the simulator when issued in parallel.
R0.L = VIT_MAX(R0) (asl) || W[P0++P1] = R0.L ;
will write the result of "R0.L = VIT_MAX(R0) (asl)" to "W[P0++P1]" instead of the original value of R0.L.
a STORE macro was added for dealing with such situations (stores are added to a queue and then dealt with after all parallel instrs have been processed), however only a handful of 32-bit instrs have been updated to use this.
i believe it should just be a case of going through and:
-SET_DREG (dst0, REG_H_L (out1 << 16, out0));
+STORE (DREG (dst0), REG_H_L (out1 << 16, out0));
--- Mike Frysinger 2011-09-28 23:20:31
committed to blackfin trunk & upstream cvs
File Name File Type File Size Posted By
No Files Were Found