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 />

4.7.29 __ror<br />

This intrinsic inserts a ROR instruction or operand rotation into the instruction stream<br />

generated by the compiler. It enables you to rotate a value right by a specified number<br />

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

Note<br />

The compiler introduces ROR automatically when it recognizes certain expressions.<br />

Syntax<br />

unsigned int __ror(unsigned int val, unsigned int shift)<br />

Where:<br />

val is the value to be shifted right<br />

shift is a constant shift in the range 1-31.<br />

Return value<br />

The __ror intrinsic returns the value of val rotated right by shift number of places.<br />

See also<br />

• ASR, LSL, LSR, ROR, and RRX on page 4-67 in the Assembler Guide.<br />

4.7.30 __schedule_barrier<br />

This intrinsic creates a sequence point where operations before and operations after the<br />

sequence point are not merged by the compiler. A scheduling barrier does not cause<br />

memory to be updated. If variables are held in registers they are updated in place, and<br />

not written out.<br />

This intrinsic is similar to the __nop intrinsic, except that no NOP instruction is generated.<br />

Syntax<br />

void __schedule_barrier(void)<br />

See also<br />

• __nop on page 4-89<br />

4-96 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!