ARM Technical Support Knowledge Articles

LROL AND LROR FUNCTIONS ARE NOT INTRINSIC

Applies to: C51 C Compiler

Answer


Information in this article applies to:


SYMPTOMS

The manual states that the crol, irol, lrol, cror, iror, and lror functions are implemented as intrinsic routines. When I use them, however, the lrol and lror functions are not intrinsic.

CAUSE

This is correct. The crol, cror, irol, and iror functions are implemented intrinsicly (that is, the code is expanded in-line with no function calls). The lror and lrol function are not implemented intrinsicly (these routines are called). The reason for this is that on the 8051, a lror or lrol requires a number of operations (since there is no 32-bit ROL or ROR instruction). Since these routines require so many instructions, it is more efficient to implement these routines as functions instead of in-line code.

RESOLUTION

These is no way to change this behavior. The manual will be updated to reflect the correct operation of these routines.

MORE INFORMATION

Article last edited on: 2006-10-24 13:05:46

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential