Hello everyone,
I need urgent help with the code below.
I wrote the following code both in C and Linear Assembly first. (this is the pipelined loop from a code which loads data into a register). When runnig this program the two STWs have a conflict here. How can I use .D1x cross path in parallel with .D1?
In fact, I DO need to maintain the registers the same as below; and because I have to do a LDW and 2 STWs in my program the .D1 and .D2 are kept busy all the time. So, This is really hard to get the .D1x working in parallel with the .D1 or .D2...
Do you have any idea on how to achieve this?
The code is part of a loop, and it is like this:
loop: LDW .D2 *B4++,B1
|| STW .D1 A1,*++A4[1]
|| STW .D1x B1,*++A4
|| SUB .L2 B0,1,B0
|| [B0] B .S2 loop
Does anybody think there's a way of doing this?
(BTW I didn't find my answer in TI Instruction Set Manuals).
Thank you.