Indirect Access to Register File

The existence of dependency violations may depend on general register values; for example, when accessing register files indirectly. In the following example, two different registers are accessed indirectly. IAS does not have information about the values of the index registers, so it reports a WAW error on pmd.

mov r1=2
mov r2=4;;
mov pmd[r1]=r11
mov pmd[r2]=r12

To resolve this, use the .reg.val annotation to inform IAS that the two writes to pmd access different registers:

   mov r1=2
mov r2=4;;
.reg.val r1,2
mov pmd[r1]=r11
.reg.val r2,4
mov pmd[r2]=r12