Illegal instruction selection for __byte_peripheral_32 on FPU32

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Medium
    • Code Generation Tools
    • CODEGEN-1710
    • Hide
      C2000_15.12.0.LTS
       C2000_16.9.0.LTS
      Show
      C2000_15.12.0.LTS  C2000_16.9.0.LTS
    • Hide
      C2000_15.12.5.LTS
       C2000_16.9.2.LTS
      Show
      C2000_15.12.5.LTS  C2000_16.9.2.LTS
    • Try a lower level of optimization. For our test case, optimization levels lower than 3 did not expose the bug. However, this workaround may not help for all test cases.
    • Hide
      Although byte peripheral types are integral, when FPU32 device support is enabled, the compiler might store 32-bit integral values in floating point registers when CPU registers are unavailable. The compiler erroneously generates a MOVL instruction instead of a MOV32 instruction for moving 32-bit byte peripheral data between floating point registers and byte peripheral memory, if this data gets assigned to a floating point register.
      Show
      Although byte peripheral types are integral, when FPU32 device support is enabled, the compiler might store 32-bit integral values in floating point registers when CPU registers are unavailable. The compiler erroneously generates a MOVL instruction instead of a MOV32 instruction for moving 32-bit byte peripheral data between floating point registers and byte peripheral memory, if this data gets assigned to a floating point register.

      Illegal instruction selection for __byte_peripheral_32 on FPU32

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

              Created:
              Updated:
              Resolved:

                Connection: Intermediate to External PROD System
                EXTSYNC-701 - Illegal instruction selection for _...
                SYNCHRONIZED
                • Last Sync Date: