Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-10053

C2000 MOVD32 instruction tries to simultaneously access two memory locations across DP boundary

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • Code Generation Tools
    • CODEGEN-8201
    • Hide
      C2000_20.8.0.STS
      C2000_18.12.0.LTS
      C2000_20.2.0.LTS
      Show
      C2000_20.8.0.STS C2000_18.12.0.LTS C2000_20.2.0.LTS
    • Hide
      C2000_20.2.3.LTS*
      C2000_21.2.0.BETA1*
      C2000_18.12.8.LTS*
      Show
      C2000_20.2.3.LTS* C2000_21.2.0.BETA1* C2000_18.12.8.LTS*
    • default
    • Hide
      Code can be compiled with optimization turned off (--opt_level=off) and the assembly checked for the absence of MOVD32 instructions. Alternately, one word of empty buffer space can be added in between the data elements in a structure that span a data page boundary for structures larger than a data page (64 words).
      Show
      Code can be compiled with optimization turned off (--opt_level=off) and the assembly checked for the absence of MOVD32 instructions. Alternately, one word of empty buffer space can be added in between the data elements in a structure that span a data page boundary for structures larger than a data page (64 words).

      For C2000 devices with floating point hardware, a MOVD32 instruction might be generated to access two adjacent 32-bit memory locations, simultaneously issuing a load from the first and a store to the second. If these are direct memory operands, the data page pointer must first be loaded in the DP register. If a MOVD32 instruction tries to access two adjacent data elements in the same structure that span a data page boundary (64 words), the DP register can only be loaded correctly for one of the accesses. In this case, a MOVD32 instruction cannot be correctly used.

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

              Created:
              Updated:
              Resolved: