1<html lang="en"> 2<head> 3<title>Argument Types - Using the GNU Compiler Collection (GCC)</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Using the GNU Compiler Collection (GCC)"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="FR_002dV-Built_002din-Functions.html#FR_002dV-Built_002din-Functions" title="FR-V Built-in Functions"> 9<link rel="next" href="Directly_002dmapped-Integer-Functions.html#Directly_002dmapped-Integer-Functions" title="Directly-mapped Integer Functions"> 10<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 11<!-- 12Copyright (C) 1988-2013 Free Software Foundation, Inc. 13 14Permission is granted to copy, distribute and/or modify this document 15under the terms of the GNU Free Documentation License, Version 1.3 or 16any later version published by the Free Software Foundation; with the 17Invariant Sections being ``Funding Free Software'', the Front-Cover 18Texts being (a) (see below), and with the Back-Cover Texts being (b) 19(see below). A copy of the license is included in the section entitled 20``GNU Free Documentation License''. 21 22(a) The FSF's Front-Cover Text is: 23 24 A GNU Manual 25 26(b) The FSF's Back-Cover Text is: 27 28 You have freedom to copy and modify this GNU Manual, like GNU 29 software. Copies published by the Free Software Foundation raise 30 funds for GNU development.--> 31<meta http-equiv="Content-Style-Type" content="text/css"> 32<style type="text/css"><!-- 33 pre.display { font-family:inherit } 34 pre.format { font-family:inherit } 35 pre.smalldisplay { font-family:inherit; font-size:smaller } 36 pre.smallformat { font-family:inherit; font-size:smaller } 37 pre.smallexample { font-size:smaller } 38 pre.smalllisp { font-size:smaller } 39 span.sc { font-variant:small-caps } 40 span.roman { font-family:serif; font-weight:normal; } 41 span.sansserif { font-family:sans-serif; font-weight:normal; } 42--></style> 43<link rel="stylesheet" type="text/css" href="../cs.css"> 44</head> 45<body> 46<div class="node"> 47<a name="Argument-Types"></a> 48<p> 49Next: <a rel="next" accesskey="n" href="Directly_002dmapped-Integer-Functions.html#Directly_002dmapped-Integer-Functions">Directly-mapped Integer Functions</a>, 50Up: <a rel="up" accesskey="u" href="FR_002dV-Built_002din-Functions.html#FR_002dV-Built_002din-Functions">FR-V Built-in Functions</a> 51<hr> 52</div> 53 54<h5 class="subsubsection">6.56.6.1 Argument Types</h5> 55 56<p>The arguments to the built-in functions can be divided into three groups: 57register numbers, compile-time constants and run-time values. In order 58to make this classification clear at a glance, the arguments and return 59values are given the following pseudo types: 60 61 <p><table summary=""><tr align="left"><td valign="top" width="20%">Pseudo type </td><td valign="top" width="30%">Real C type </td><td valign="top" width="15%">Constant? </td><td valign="top" width="35%">Description 62<br></td></tr><tr align="left"><td valign="top" width="20%"><code>uh</code> </td><td valign="top" width="30%"><code>unsigned short</code> </td><td valign="top" width="15%">No </td><td valign="top" width="35%">an unsigned halfword 63<br></td></tr><tr align="left"><td valign="top" width="20%"><code>uw1</code> </td><td valign="top" width="30%"><code>unsigned int</code> </td><td valign="top" width="15%">No </td><td valign="top" width="35%">an unsigned word 64<br></td></tr><tr align="left"><td valign="top" width="20%"><code>sw1</code> </td><td valign="top" width="30%"><code>int</code> </td><td valign="top" width="15%">No </td><td valign="top" width="35%">a signed word 65<br></td></tr><tr align="left"><td valign="top" width="20%"><code>uw2</code> </td><td valign="top" width="30%"><code>unsigned long long</code> </td><td valign="top" width="15%">No 66</td><td valign="top" width="35%">an unsigned doubleword 67<br></td></tr><tr align="left"><td valign="top" width="20%"><code>sw2</code> </td><td valign="top" width="30%"><code>long long</code> </td><td valign="top" width="15%">No </td><td valign="top" width="35%">a signed doubleword 68<br></td></tr><tr align="left"><td valign="top" width="20%"><code>const</code> </td><td valign="top" width="30%"><code>int</code> </td><td valign="top" width="15%">Yes </td><td valign="top" width="35%">an integer constant 69<br></td></tr><tr align="left"><td valign="top" width="20%"><code>acc</code> </td><td valign="top" width="30%"><code>int</code> </td><td valign="top" width="15%">Yes </td><td valign="top" width="35%">an ACC register number 70<br></td></tr><tr align="left"><td valign="top" width="20%"><code>iacc</code> </td><td valign="top" width="30%"><code>int</code> </td><td valign="top" width="15%">Yes </td><td valign="top" width="35%">an IACC register number 71 <br></td></tr></table> 72 73 <p>These pseudo types are not defined by GCC, they are simply a notational 74convenience used in this manual. 75 76 <p>Arguments of type <code>uh</code>, <code>uw1</code>, <code>sw1</code>, <code>uw2</code> 77and <code>sw2</code> are evaluated at run time. They correspond to 78register operands in the underlying FR-V instructions. 79 80 <p><code>const</code> arguments represent immediate operands in the underlying 81FR-V instructions. They must be compile-time constants. 82 83 <p><code>acc</code> arguments are evaluated at compile time and specify the number 84of an accumulator register. For example, an <code>acc</code> argument of 2 85selects the ACC2 register. 86 87 <p><code>iacc</code> arguments are similar to <code>acc</code> arguments but specify the 88number of an IACC register. See see <a href="Other-Built_002din-Functions.html#Other-Built_002din-Functions">Other Built-in Functions</a> 89for more details. 90 91 </body></html> 92 93