This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Multiple assignment of C6000 compiler

Other Parts Discussed in Thread: TCI6638K2K

My customer uses C6000 compiler(CGTool v7.4.4) for TCI6638K2K. They found a issue about multiple assignment when they had some troubles in their system. Attached text file is extracted from their code. It seems that the assembler code that compiler generated is related to  6.6.1 Single Assignment Programming in TMS320C66x DSP CPU and Instruction Set Reference Guide(SPRUGH7). It is described methods for preventing problems but  this issue is generated from compiler. So it is difficult to find the multiple assignment in their program.

1. Is this a compiler bug?

2. Do you have any idea to find multiple assignment that compiler generated or workaround?

/* Assmble code generated from C6000 compiler (CGtool v7.4.4) */
/* It is wrong value in ILC (or A5). */ 

   ; PIPED LOOP PROLOG
;          EXCLUSIVE CPU CYCLES: 25

           SHL     .S1     A16,5,A3 
||         MPYLI   .M1X    A4,B6,A5:A4

           MVK     .S1     1000,A31
||         ADD     .L1X    A6,B8,A5 
||         SUBAW   .D1     A3,A16,A3 

           ADD     .L1     A31,A5,A9         ; <-interrupt is happened here

           SHL     .S1     A16,4,A6
||         LDHU    .D1T1   *A9,A5

           MVK     .S1     10000,A4
||         ADD     .L1     A13,A4,A30

           ADDAW   .D1     A6,A16,A29
||         ADD     .L1     A4,A30,A18

           ADD     .L1     A18,A29,A4
           ADD     .D1     A4,28,A4

           SPLOOPD 8       ;24               ; (P) 
||         MVC     .S2X    A5,ILC 

 

Regards,

M.Ohhashi