9.122 __qadd intrinsic

This intrinsic inserts a QADD instruction into the instruction stream generated by the compiler. It enables you to obtain the result of a saturating add of two integers from within your C or C++ code.

Note

The compiler might optimize your code when it detects an opportunity to do so, using equivalent instructions from the same family to produce fewer instructions.

Syntax

int __qadd(int val1, int val2)
Where:
val1
is the first summand of the saturating add operation
val2
is the second summand of the saturating add operation.

Return value

The __qadd intrinsic returns the saturating add of val1 and val2.

Errors

The compiler does not recognize the __qadd intrinsic when compiling for a target that does not support the QADD instruction. The compiler generates either a warning or an error in this case, depending on the source language:
  • In C code: Warning: #223-D: function "__qadd" declared implicitly.
  • In C++ code: Error: #20: identifier "__qadd" is undefined.
Related reference
9.123 __qdbl intrinsic
9.124 __qsub intrinsic
Related information
QADD
Non-ConfidentialPDF file icon PDF versionARM DUI0375E
Copyright © 2007, 2008, 2011, 2012, 2014 ARM. All rights reserved.