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.

TMS320F28379D: CLA compiler extension

Part Number: TMS320F28379D


Hallo,

I have made a suggestion to extend the CLA compiler. Details are shown in the thread:

 https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/981753

 For this reason the following issue was created:

 https://sir.ext.ti.com/jira/browse/EXT_EP-10257

 Now I have seen that the compiler extension is implemented.

 When is the extended version of the compiler and the documentation available?

 

Thanks

 Ralf

  • Hi Ralf,

    I have asked the compiler experts and will let you know soon.

    Thanks,
    Ashwini

  •  When is the extended version of the compiler and the documentation available?

    Focus on the entry Fix in Release, which shows C2000_21.6.0.LTS.  This means it is in version 21.6.0.LTS, which is available now.   

    In this case, no changes were made to the compiler.  Instead the documentation was updated.  Please search the C28x compiler manual for the sub-chapter titled Floating Point Conversion Intrinsics.  The last paragraph says ...

    Another way to use these intrinsics is for converting a float constant that has more precision than needed to a value that has all zero bits in the least significant mantissa bits. This enables the compiler to use one instruction instead of two to load a 32-bit constant into a register. The following code truncates a constant:

    __u32_bits_as_f32(__f32_bits_as_u32(3.14159f) & 0xffff0000)

    Thanks and regards,

    -George

  • Dear George, currently I´m working with the CCS version 9.3. I don´t want to change the version during the running project. With the CCS 9.3 automatically compiler updates are only possible to the version TI v18.12.8.LTS. For this reason I have downloaded the compiler version TI v21.6.0.LTS and manually installed in the compiler directory of the CCS 9.3. This seems to be working (see screenshot).

    After that I have written a small test code with the __u32_bits_as_f32 and __f32_bits_as_u32 intrinsic. Unfortunately this does´t work (see screenshot). I got an error message (unresolved symbol, __u32_bits_as_f32,  __f32_bits_as_u32 declared implicitly).

    What is the problem here?

    Thank you
    Ralf

  • The C28x CLA intrinsics __u32_bits_as_f32 and __f32_bits_as_u32 are supported only when building for EABI with the build option --abi=eabi.  This limitation doesn't seem correct.  So, I filed the entry EXT_EP-10444 to have this investigated.  You are welcome to follow it with that link.

    Please accept my apologies that it doesn't work as you expect.

    Thanks and regards,

    -George