[#6802] simulator should use STORE instead of SET_xREG

Document created by Aaronwu Employee on Oct 17, 2013
Version 1Show Document
  • View in full screen mode

[#6802] simulator should use STORE instead of SET_xREG

Submitted By: Stuart Henderson

Open Date

2011-09-28 13:11:24     Close Date

2011-09-28 23:20:23

Priority:

Medium     Assignee:

Glen Anderson

Board:

N/A     Silicon Revision:

Resolution:

Fixed     Fixed In Release:

N/A

Processor:

ALL     

Host Operating System:

toolchain rev.:

    kernel rev.:

State:

Closed     Found In Release:

2010R1-RC4

Is this bug repeatable?:

yes     

Summary: simulator should use STORE instead of SET_xREG

Details:

 

A customer has reported that certain instructions give erroneous results on the simulator when issued in parallel.

e.g.

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));

 

 

Follow-ups

 

--- Mike Frysinger                                           2011-09-28 23:20:31

committed to blackfin trunk & upstream cvs

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes