SPRUJG0 December   2024 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Performance Optimization
    1. 2.1 Compiler Settings
      1. 2.1.1 Enabling Debug and Source Inter-listing
      2. 2.1.2 Optimization Control
      3. 2.1.3 Floating-Point Math
      4. 2.1.4 Fixed-Point Division
      5. 2.1.5 Single vs Double Precision Floating-Point
    2. 2.2 Memory Settings
      1. 2.2.1 Executing Code From RAM
      2. 2.2.2 Executing Code From Flash
      3. 2.2.3 Data Placement
    3. 2.3 Code Construction and Configuration
      1. 2.3.1 Inlining
      2. 2.3.2 Intrinsics
      3. 2.3.3 Volatile Variables
      4. 2.3.4 Function Arguments
    4. 2.4 Application Code Optimization
      1. 2.4.1 Optimized SDK Libraries
      2. 2.4.2 Optimizing Code-Size With Libraries
      3. 2.4.3 C29 Special Instructions
      4. 2.4.4 C29 Parallelism
      5. 2.4.5 32-Bit Variables and Writes Preferred
  6. 3References

Fixed-Point Division

In signed or unsigned 32-bit or 64-bit integer division, the C '/' operator is implemented by the compiler using the necessary instructions. Three types of division are supported - traditional, Euclidean, and Modulo. Traditional division is natively supported by the C standard and compiler, where the remainder has the sign of the numerator. In modulo (or floored) division, the remainder has the sign of the denominator. Euclidean division is the preferred choice for control operations, where the quotient is linear about 0, and the remainder is always positive.

Note: To implement Euclidean or Modulo division, intrinsics need to be used. For more information, see here.