C2000 long-long compares using MINL/MINCUL used invalid indirect-postinc addressing mode

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Medium
    • Code Generation Tools
    • CODEGEN-10116
    • Hide
      C2000_18.1.0.LTS
      C2000_22.6.0.LTS
      C2000_21.6.0.LTS
      C2000_18.12.0.LTS
      C2000_20.2.0.LTS
      Show
      C2000_18.1.0.LTS C2000_22.6.0.LTS C2000_21.6.0.LTS C2000_18.12.0.LTS C2000_20.2.0.LTS
    • Hide
      C2000_25.3.0.LTS*
      C2000_20.2.7.LTS
      C2000_22.6.1.LTS
      C2000_21.6.1.LTS
      Show
      C2000_25.3.0.LTS* C2000_20.2.7.LTS C2000_22.6.1.LTS C2000_21.6.1.LTS
    • default
    • Hide
      For --opt_level=2 or higher, if the invalid code is generated within a loop then prevent unrolling with below and confirm that eliminates the indirect-post-increment addressing:
      #pragma UNROLL(1)
        for loop
      Otherwise use a lower --opt_level.
      Show
      For --opt_level=2 or higher, if the invalid code is generated within a loop then prevent unrolling with below and confirm that eliminates the indirect-post-increment addressing: #pragma UNROLL(1)   for loop Otherwise use a lower --opt_level.

      For C28, long-long integer compares that the optimizer converts to intrinsics __llmin (and __llmax) are incorrectly generated using indirect-postincrement addressing which is not valid with little endian.

      Example of the incorrect code being generated:
              MINL      ACC,*XAR4++           
              MINCUL    P, *XAR4++            
      And correct addressing:
            MINL      ACC,*+XAR4[2]
            MINCUL    P, *+XAR4[0]      

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

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-3458 - C2000 long-long compares using MINL...
                SYNCHRONIZED
                • Last Sync Date: