AnsweredAssumed Answered

possibly bogus BR Glitch Anomaly warning

Question asked by dsmtoday on Aug 30, 2010
Latest reply on Sep 3, 2010 by jeyanthi.jegadeesan

The following code

 

     i2 = dm(_detrendBlock+2) (lw);                 // i2/i3 = x/y addresses       
     astatx = dm(_detrendBlock+0);                  // read status
     i0 = _detrendBlock+4;                          // i0 -> xoffset
     if ne jump (pc,detrenddone),                   // quit if not active
         else r15 = r15 xor r15, r2 = dm(i2,m0);    // else r15 = 0, r2 = x

 

produces the following warning (where the last line of code above is #790)

 

[Warning ea2505] ".\main_interrupt.asm":790 BR glitch anomaly:
Using M0 in this instruction will trigger the anomaly, due to the write
to I0 in the preceding  instruction, at line 788.

 

It doesn't make sense to us that modifying i0 and then using m0 should produce a DAG stall.

 

Is this warning correct?

Outcomes