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, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 131998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 142010 Free Software Foundation, Inc. 15 16Permission is granted to copy, distribute and/or modify this document 17under the terms of the GNU Free Documentation License, Version 1.3 or 18any later version published by the Free Software Foundation; with the 19Invariant Sections being ``Funding Free Software'', the Front-Cover 20Texts being (a) (see below), and with the Back-Cover Texts being (b) 21(see below). A copy of the license is included in the section entitled 22``GNU Free Documentation License''. 23 24(a) The FSF's Front-Cover Text is: 25 26 A GNU Manual 27 28(b) The FSF's Back-Cover Text is: 29 30 You have freedom to copy and modify this GNU Manual, like GNU 31 software. Copies published by the Free Software Foundation raise 32 funds for GNU development.--> 33<meta http-equiv="Content-Style-Type" content="text/css"> 34<style type="text/css"><!-- 35 pre.display { font-family:inherit } 36 pre.format { font-family:inherit } 37 pre.smalldisplay { font-family:inherit; font-size:smaller } 38 pre.smallformat { font-family:inherit; font-size:smaller } 39 pre.smallexample { font-size:smaller } 40 pre.smalllisp { font-size:smaller } 41 span.sc { font-variant:small-caps } 42 span.roman { font-family:serif; font-weight:normal; } 43 span.sansserif { font-family:sans-serif; font-weight:normal; } 44--></style> 45<link rel="stylesheet" type="text/css" href="../cs.css"> 46</head> 47<body> 48<div class="node"> 49<a name="Argument-Types"></a> 50<p> 51Next: <a rel="next" accesskey="n" href="Directly_002dmapped-Integer-Functions.html#Directly_002dmapped-Integer-Functions">Directly-mapped Integer Functions</a>, 52Up: <a rel="up" accesskey="u" href="FR_002dV-Built_002din-Functions.html#FR_002dV-Built_002din-Functions">FR-V Built-in Functions</a> 53<hr> 54</div> 55 56<h5 class="subsubsection">6.54.5.1 Argument Types</h5> 57 58<p>The arguments to the built-in functions can be divided into three groups: 59register numbers, compile-time constants and run-time values. In order 60to make this classification clear at a glance, the arguments and return 61values are given the following pseudo types: 62 63 <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 64<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 65<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 66<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 67<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 68</td><td valign="top" width="35%">an unsigned doubleword 69<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 70<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 71<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 72<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 73 <br></td></tr></table> 74 75 <p>These pseudo types are not defined by GCC, they are simply a notational 76convenience used in this manual. 77 78 <p>Arguments of type <code>uh</code>, <code>uw1</code>, <code>sw1</code>, <code>uw2</code> 79and <code>sw2</code> are evaluated at run time. They correspond to 80register operands in the underlying FR-V instructions. 81 82 <p><code>const</code> arguments represent immediate operands in the underlying 83FR-V instructions. They must be compile-time constants. 84 85 <p><code>acc</code> arguments are evaluated at compile time and specify the number 86of an accumulator register. For example, an <code>acc</code> argument of 2 87will select the ACC2 register. 88 89 <p><code>iacc</code> arguments are similar to <code>acc</code> arguments but specify the 90number of an IACC register. See see <a href="Other-Built_002din-Functions.html#Other-Built_002din-Functions">Other Built-in Functions</a> 91for more details. 92 93 </body></html> 94 95