04.01.2015 Views

RealView Compilation Tools - ARM Information Center

RealView Compilation Tools - ARM Information Center

RealView Compilation Tools - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Compiler-specific Features<br />

• PLD, PLDW, and PLI on page 4-25 in the Assembler Guide.<br />

4.7.22 __promise<br />

This intrinsic promises the compiler that a given expression is nonzero. This enables the<br />

compiler to perform more aggressive optimization when vectorizing code.<br />

Syntax<br />

void __promise(expr)<br />

Where expr is an expression that evaluates to nonzero.<br />

See also<br />

• Using __promise to improve vectorization on page 3-17 in the Compiler User<br />

Guide.<br />

4.7.23 __qadd<br />

This intrinsic inserts a QADD instruction or an equivalent code sequence into the<br />

instruction stream generated by the compiler. It enables you to obtain the saturating add<br />

of two integers from within your C or C++ code.<br />

Syntax<br />

int __qadd(int val1, int val2)<br />

Where:<br />

val1<br />

val2<br />

is the first summand of the saturating add operation<br />

is the second summand of the saturating add operation.<br />

Return value<br />

The __qadd intrinsic returns the saturating add of val1 and val2.<br />

See also<br />

• __qdbl on page 4-93<br />

• __qsub on page 4-93<br />

• QADD, QSUB, QDADD, and QDSUB on page 4-94 in the Assembler Guide.<br />

4-92 Copyright © 2007-2010 <strong>ARM</strong>. All rights reserved. <strong>ARM</strong> DUI 0348C<br />

Non-Confidential,<br />

ID101213

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!