Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 7/13/2023
Public
Document Table of Contents

Integer Arithmetic Intrinsics

The following table lists and describes integer arithmetic intrinsics that you can use across Intel® architectures.

Intrinsic Syntax

Description

Intrinsics for all Supported Intel® Architectures

int abs(int)

Returns the absolute value of an integer.

long labs(long)

Returns the absolute value of a long integer.

unsigned long _lrotl(unsigned long value, int shift)

Implements 64-bit left rotate of value by shift positions.

unsigned long _lrotr(unsigned long value, int shift)

Implements 64-bit right rotate of value by shift positions.

unsigned int _rotl(unsigned int value, int shift)

Implements 32-bit left rotate of value by shift positions.

unsigned int _rotr(unsigned int value, int shift)

Implements 32-bit right rotate of value by shift positions.

Intrinsics for IA-32 and Intel® 64 Architectures

unsigned short _rotwl(unsigned short value, int shift)

Implements 16-bit left rotate of value by shift positions.

unsigned short _rotwr(unsigned short value, int shift)

Implements 16-bit right rotate of value by shift positions.

NOTE:

Passing a constant shift value in the rotate intrinsics results in higher performance.