Compiler generates illegal parallel instruction that causes assembler to issue a valid error

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Medium

      The C28 compiler generates below illegal parallel instruction that causes assembler to issue a valid error.

          MPYF32 R1H,R2H,R1H  
      ||  MOV32 R0H,@$BLOCKED(||tempInput||)+4,GT  
      

      Above parallel instruction is only legal with an unconditional MOV32.
      The attached test case has this line ...

        tempInput2.x.a = (temp5 * temp4 + temp6 * temp3);
      

      All variables are of type float. Build it ...

      % cl2000 -@options.txt -s test.c
      "test.asm", ERROR!   at line 237: [E0802] Incorrect instruction/operands used in parallel operation
      1 Assembly Error, No Assembly Warnings
                      MPYF32    R1H,R2H,R1H           ; [CPU_FPU] |43|
              ||      MOV32     R0H,@$BLOCKED(||tempInput||)+4,GT ; [CPU_FPU] |40|
      
      
      Errors in Source - Assembler Aborted
      
      >> Compilation failure
      

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-5197 - Compiler generates illegal parallel...
                SYNCHRONIZED
                • Last Sync Date: