29.12.2014 Views

RealView Compilation Tools Compiler Reference Guide - ARM ...

RealView Compilation Tools Compiler Reference Guide - ARM ...

RealView Compilation Tools Compiler Reference Guide - ARM ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

<strong>Compiler</strong>-specific Features<br />

Note<br />

The __fabs intrinsic is an analogue of the standard C library function fabs. It differs<br />

from the standard library function in that a call to __fabs is guaranteed to be compiled<br />

into a single, inline, machine instruction on an <strong>ARM</strong> architecture-based processor<br />

equipped with a VFP coprocessor.<br />

Syntax<br />

double __fabs(double val)<br />

Where:<br />

val<br />

is a double-precision floating-point value.<br />

Return value<br />

The __fabs intrinsic returns the absolute value of val as a double.<br />

See also<br />

• __fabsf<br />

• VABS, VNEG, and VSQRT on page 5-89 in the Assembler <strong>Guide</strong>.<br />

4.7.18 __fabsf<br />

This intrinsic is a single-precision version of the __fabs intrinsic. It is functionally<br />

equivalent to __fabs, except that:<br />

• it takes an argument of type float instead of an argument of type double<br />

• it returns a float value instead of a double value.<br />

See also<br />

• __fabs on page 4-73<br />

• V{Q}ABS and V{Q}NEG on page 5-52 in the Assembler <strong>Guide</strong>.<br />

4.7.19 __force_stores<br />

This intrinsic causes all variables that are visible outside the current function, such as<br />

variables that have pointers to them passed into or out of the function, to be written back<br />

to memory if they have been changed.<br />

This intrinsic also acts as a scheduling barrier.<br />

4-74 Copyright © 2007, 2010 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0348A<br />

Non-Confidential

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

Saved successfully!

Ooh no, something went wrong!