Post Go back to editing

Can short word memory transfers with sign extension be used in parallel operations in assembly? e.g. Ureg=DM(Ia,Mb)(swse);

Category: Software
Product Number: adsp21567
Software Version: CCES 2.11.1.0

The following instructions compile correctly:

r0=dm(i0,m0)(swse);
r8=pm(i12,m12)(swse);

However, when I try to combine operations, the compiler produces an error. For example:

r0=dm(i0,m0)(swse), r8=pm(i12,m12)(swse);  ==>[Error ea1007] Syntax Error at "swse".
r5 = r11 + r14, r0=dm(i0,m0)(swse);        ==>[Error ea1007] Syntax Error at "swse".
f0=float r0 by r14, r0=dm(i0,m0)(swse);    ==>[Error ea1007] Syntax Error at "swse".

When I remove '(swse)', the code compiles successfully. 

I tested this under both VISA and Normal Word code options, with 8-bit and 32-bit char size.

Is it possible to combine operations with short word memory transfers with sign extension? If so, could you please provide an example, explain the constraints, and clarify why the code examples above do not compile?

Thread Notes