13.07.2015 Views

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>TASKING</strong> <strong>VX</strong>-<strong>toolset</strong> <strong>for</strong> <strong>ARM</strong> <strong>User</strong> <strong>Guide</strong>}{/* the entire <strong>for</strong> loop is part of the pragma optimize */a += i;}v = a;Supported pragmasThe compiler recognizes the following pragmas, other pragmas are ignored. Pragmas marked with (*)support a label prefix.alias symbol=defined_symbolDefine symbol as an alias <strong>for</strong> defined_symbol. It corresponds to an equate directive (.EQU) at assemblylevel. The symbol should not be defined elsewhere, and defined_symbol should be defined with staticstorage duration (not extern or automatic).call {near | far | default | restore} (*)By default, functions are called with 26-bit PC-relative calls. This near call is directly coded into theinstruction, resulting in higher execution speed and smaller code size. The destination address of a nearcall must be located within +/-32 MB from the program counter.The other call mode is a 32-bit indirect call. With far calls you can address the full range of memory. Theaddress is first loaded into a register after which the call is executed.See C compiler option --call (-m).compactmaxmatch {value | default | restore} (*)With this pragma you can control the maximum size of a match.See C compiler option --compact-max-size.extension isuffix [on | off | default | restore] (*)Enables a language extension to specify imaginary floating-point constants. With this extension, you canuse an "i" suffix on a floating-point constant, to make the type _Imaginary.float 0.5iextern symbolNormally, when you use the C keyword extern, the compiler generates an .EXTERN directive in thegenerated assembly source. However, if the compiler does not find any references to the extern symbolin the C module, it optimizes the assembly source by leaving the .EXTERN directive out.With this pragma you can <strong>for</strong>ce an external reference (.EXTERN assembler directive), even when thesymbol is not used in the module.16

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

Saved successfully!

Ooh no, something went wrong!