Nullstone Logo

COMPANY
Home
Contacts
Customers
Testimonials

PRODUCTS
Overview
NULLSTONE for C
NULLSTONE for Java
Technical Overview

SUPPORT
Release Notes
Download
PGP Information
Service Report
Write Us

INFORMATION
Performance Results
Glossary of Terms

RELATED LINKS
Compiler Connection
Compiler Jobs

Previous Up Next
Integer Divide Optimization

Integer divide instructions are usually slower or much slower than other instructions such as integer addition and shift. Divide expressions with power-of-two denominators or other special bit patterns can be replaced with a faster instructions.

Example:

The integer divide expression in the code fragment below can be replaced with a shift expression.

    int f (unsigned int i)
    {
      return i / 2;
    }
    

Below is the code fragment after the integer divide expression has been replaced with a shift expression.

    int f (unsigned int i)
    {
      return i >> 1;
    }
    

Notes:

Failure to generate correct code for integer divide is one of the most common defects in optimizers. NULLSTONE isolated defects in twelve of twenty commercially available compilers that were evaluated.

It is possible to perform integer divide optimization for both signed and unsigned integers, and both positive and negative power-of-two denominators. Most compilers optimize some power-of-two divide expressions, but few compilers can optimize all four combinations.

© 1990-2012 Nullstone Corporation. All Rights Reserved.