<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>GNU Radio 3.2.2 C++ API: gc_spu_macs.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.2 --> <h1>gc_spu_macs.h</h1><a href="gc__spu__macs_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- asm -*- */</span> <a name="l00002"></a>00002 <span class="comment">/*</span> <a name="l00003"></a>00003 <span class="comment"> * Copyright 2008 Free Software Foundation, Inc.</span> <a name="l00004"></a>00004 <span class="comment"> * </span> <a name="l00005"></a>00005 <span class="comment"> * This file is part of GNU Radio</span> <a name="l00006"></a>00006 <span class="comment"> * </span> <a name="l00007"></a>00007 <span class="comment"> * GNU Radio is free software; you can redistribute it and/or modify</span> <a name="l00008"></a>00008 <span class="comment"> * it under the terms of the GNU General Public License as published by</span> <a name="l00009"></a>00009 <span class="comment"> * the Free Software Foundation; either version 3, or (at your option)</span> <a name="l00010"></a>00010 <span class="comment"> * any later version.</span> <a name="l00011"></a>00011 <span class="comment"> * </span> <a name="l00012"></a>00012 <span class="comment"> * GNU Radio is distributed in the hope that it will be useful,</span> <a name="l00013"></a>00013 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> <a name="l00014"></a>00014 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span> <a name="l00015"></a>00015 <span class="comment"> * GNU General Public License for more details.</span> <a name="l00016"></a>00016 <span class="comment"> * </span> <a name="l00017"></a>00017 <span class="comment"> * You should have received a copy of the GNU General Public License along</span> <a name="l00018"></a>00018 <span class="comment"> * with this program; if not, write to the Free Software Foundation, Inc.,</span> <a name="l00019"></a>00019 <span class="comment"> * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</span> <a name="l00020"></a>00020 <span class="comment"> */</span> <a name="l00021"></a>00021 <a name="l00022"></a>00022 <span class="preprocessor">#ifndef INCLUDED_GC_SPU_MACS_H</span> <a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#define INCLUDED_GC_SPU_MACS_H</span> <a name="l00024"></a>00024 <span class="preprocessor"></span> <a name="l00025"></a>00025 <span class="comment">/*</span> <a name="l00026"></a>00026 <span class="comment"> * This file contains a set of macros that are generally useful when</span> <a name="l00027"></a>00027 <span class="comment"> * coding in SPU assembler</span> <a name="l00028"></a>00028 <span class="comment"> *</span> <a name="l00029"></a>00029 <span class="comment"> * Note that the multi-instruction macros in here may overwrite</span> <a name="l00030"></a>00030 <span class="comment"> * registers 77, 78, and 79 without warning.</span> <a name="l00031"></a>00031 <span class="comment"> */</span> <a name="l00032"></a>00032 <a name="l00033"></a>00033 <span class="comment">/*</span> <a name="l00034"></a>00034 <span class="comment"> * defines for all registers</span> <a name="l00035"></a>00035 <span class="comment"> */</span> <a name="l00036"></a><a class="code" href="gc__spu__macs_8h.html#af8ef4632fb5325a43f9c31778135d450">00036</a> <span class="preprocessor">#define r0 $0</span> <a name="l00037"></a><a class="code" href="gc__spu__macs_8h.html#a7eaf5903abe583c64f4324081140b84e">00037</a> <span class="preprocessor"></span><span class="preprocessor">#define r1 $1</span> <a name="l00038"></a><a class="code" href="gc__spu__macs_8h.html#a0700026d33d910874577324a49997947">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define r2 $2</span> <a name="l00039"></a><a class="code" href="gc__spu__macs_8h.html#af0a5572b5ba560a4e4548a2722d3c593">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define r3 $3</span> <a name="l00040"></a><a class="code" href="gc__spu__macs_8h.html#ac2da134ec3ab777999b1d3cb16f35f49">00040</a> <span class="preprocessor"></span><span class="preprocessor">#define r4 $4</span> <a name="l00041"></a><a class="code" href="gc__spu__macs_8h.html#af4cf2acff0caa8dcc94f9e94d16d5b0a">00041</a> <span class="preprocessor"></span><span class="preprocessor">#define r5 $5</span> <a name="l00042"></a><a class="code" href="gc__spu__macs_8h.html#a76535c34ee377a9e0089c24ca39541e1">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define r6 $6</span> <a name="l00043"></a><a class="code" href="gc__spu__macs_8h.html#aa0ec33834abbd7797aeba23d238eb1f1">00043</a> <span class="preprocessor"></span><span class="preprocessor">#define r7 $7</span> <a name="l00044"></a><a class="code" href="gc__spu__macs_8h.html#a6f1417813d47c867539dfc6bfbf45925">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define r8 $8</span> <a name="l00045"></a><a class="code" href="gc__spu__macs_8h.html#a39fd20c745a542aa90c2be9f75152ac8">00045</a> <span class="preprocessor"></span><span class="preprocessor">#define r9 $9</span> <a name="l00046"></a><a class="code" href="gc__spu__macs_8h.html#addd1a6d09b9980455df04553a102940d">00046</a> <span class="preprocessor"></span><span class="preprocessor">#define r10 $10</span> <a name="l00047"></a><a class="code" href="gc__spu__macs_8h.html#aa3192e154c88f6cbdb22073187763c17">00047</a> <span class="preprocessor"></span><span class="preprocessor">#define r11 $11</span> <a name="l00048"></a><a class="code" href="gc__spu__macs_8h.html#a2dcb739ee7e88f954fcdff1eff3dba8a">00048</a> <span class="preprocessor"></span><span class="preprocessor">#define r12 $12</span> <a name="l00049"></a><a class="code" href="gc__spu__macs_8h.html#ac37a14f223d6b2f038b86a6316bf0999">00049</a> <span class="preprocessor"></span><span class="preprocessor">#define r13 $13</span> <a name="l00050"></a><a class="code" href="gc__spu__macs_8h.html#ab0c60c4dc04a840c3cd4826a1cf057d8">00050</a> <span class="preprocessor"></span><span class="preprocessor">#define r14 $14</span> <a name="l00051"></a><a class="code" href="gc__spu__macs_8h.html#a72e4f5e8aeb3c09325276c6eb023926a">00051</a> <span class="preprocessor"></span><span class="preprocessor">#define r15 $15</span> <a name="l00052"></a><a class="code" href="gc__spu__macs_8h.html#a7d354e54a9284f8a7cb13ff7a7a4c510">00052</a> <span class="preprocessor"></span><span class="preprocessor">#define r16 $16</span> <a name="l00053"></a><a class="code" href="gc__spu__macs_8h.html#ac412799a561a66bb9039689f901049dd">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define r17 $17</span> <a name="l00054"></a><a class="code" href="gc__spu__macs_8h.html#a43018bc8d63607a7670769a26b92d769">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define r18 $18</span> <a name="l00055"></a><a class="code" href="gc__spu__macs_8h.html#ac45edf66343c8976aad09bf63cebee32">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define r19 $19</span> <a name="l00056"></a><a class="code" href="gc__spu__macs_8h.html#a831308d6cf0fe84a489f3b12aa6f84ca">00056</a> <span class="preprocessor"></span><span class="preprocessor">#define r20 $20</span> <a name="l00057"></a><a class="code" href="gc__spu__macs_8h.html#a5b9491dc2d26aa83bec4bbbf957d5779">00057</a> <span class="preprocessor"></span><span class="preprocessor">#define r21 $21</span> <a name="l00058"></a><a class="code" href="gc__spu__macs_8h.html#a9faa48ab2a35ee5a726ee84c9c3b7c39">00058</a> <span class="preprocessor"></span><span class="preprocessor">#define r22 $22</span> <a name="l00059"></a><a class="code" href="gc__spu__macs_8h.html#ad20d91e42b5b9bd91bafae792f721fe0">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define r23 $23</span> <a name="l00060"></a><a class="code" href="gc__spu__macs_8h.html#a501c8a2bdf4e0df96e6d7298f108a825">00060</a> <span class="preprocessor"></span><span class="preprocessor">#define r24 $24</span> <a name="l00061"></a><a class="code" href="gc__spu__macs_8h.html#a43cc541afc0f2e6a10f4a96f9d8e5210">00061</a> <span class="preprocessor"></span><span class="preprocessor">#define r25 $25</span> <a name="l00062"></a><a class="code" href="gc__spu__macs_8h.html#aa2b613ffe3d61df514568ba409d43f35">00062</a> <span class="preprocessor"></span><span class="preprocessor">#define r26 $26</span> <a name="l00063"></a><a class="code" href="gc__spu__macs_8h.html#a311a4c2110ad750c2b1348016bcbfef7">00063</a> <span class="preprocessor"></span><span class="preprocessor">#define r27 $27</span> <a name="l00064"></a><a class="code" href="gc__spu__macs_8h.html#a0f645eded19564ad420ee1f9fc376308">00064</a> <span class="preprocessor"></span><span class="preprocessor">#define r28 $28</span> <a name="l00065"></a><a class="code" href="gc__spu__macs_8h.html#af54bc224f6bfd4d50955e85b3f7edb9e">00065</a> <span class="preprocessor"></span><span class="preprocessor">#define r29 $29</span> <a name="l00066"></a><a class="code" href="gc__spu__macs_8h.html#ab896ba78d799971de9b1d724f3ed2b02">00066</a> <span class="preprocessor"></span><span class="preprocessor">#define r30 $30</span> <a name="l00067"></a><a class="code" href="gc__spu__macs_8h.html#afc3dd658b733702d244acb9f65e51ed6">00067</a> <span class="preprocessor"></span><span class="preprocessor">#define r31 $31</span> <a name="l00068"></a><a class="code" href="gc__spu__macs_8h.html#adaaf975869d5dc987d87091d518c9b8b">00068</a> <span class="preprocessor"></span><span class="preprocessor">#define r32 $32</span> <a name="l00069"></a><a class="code" href="gc__spu__macs_8h.html#a3428780a216ef02902977c4d755f367a">00069</a> <span class="preprocessor"></span><span class="preprocessor">#define r33 $33</span> <a name="l00070"></a><a class="code" href="gc__spu__macs_8h.html#acaea63c8a88fe8249ce517a7dabdb1ca">00070</a> <span class="preprocessor"></span><span class="preprocessor">#define r34 $34</span> <a name="l00071"></a><a class="code" href="gc__spu__macs_8h.html#a5b521d87367fe61ae487f6b9b8870a02">00071</a> <span class="preprocessor"></span><span class="preprocessor">#define r35 $35</span> <a name="l00072"></a><a class="code" href="gc__spu__macs_8h.html#ab5e1716ed509b6074034a40f51df6fd6">00072</a> <span class="preprocessor"></span><span class="preprocessor">#define r36 $36</span> <a name="l00073"></a><a class="code" href="gc__spu__macs_8h.html#a368f2ae87bbfc8ee39fa859041e5baed">00073</a> <span class="preprocessor"></span><span class="preprocessor">#define r37 $37</span> <a name="l00074"></a><a class="code" href="gc__spu__macs_8h.html#a958decd80935cdf820acbf279548af35">00074</a> <span class="preprocessor"></span><span class="preprocessor">#define r38 $38</span> <a name="l00075"></a><a class="code" href="gc__spu__macs_8h.html#a8375e8c3cec776389daf3a1096964a26">00075</a> <span class="preprocessor"></span><span class="preprocessor">#define r39 $39</span> <a name="l00076"></a><a class="code" href="gc__spu__macs_8h.html#acdf045a492b9b7891a20562b9a8efc67">00076</a> <span class="preprocessor"></span><span class="preprocessor">#define r40 $40</span> <a name="l00077"></a><a class="code" href="gc__spu__macs_8h.html#a34818eb1963edb888db6dfcd375505f9">00077</a> <span class="preprocessor"></span><span class="preprocessor">#define r41 $41</span> <a name="l00078"></a><a class="code" href="gc__spu__macs_8h.html#a1fc3b9e3d4e735a995165603d3eb048a">00078</a> <span class="preprocessor"></span><span class="preprocessor">#define r42 $42</span> <a name="l00079"></a><a class="code" href="gc__spu__macs_8h.html#ab98e8a79218c9e5e03ff3a68f55477d1">00079</a> <span class="preprocessor"></span><span class="preprocessor">#define r43 $43</span> <a name="l00080"></a><a class="code" href="gc__spu__macs_8h.html#a51ec34f6118049c2fbc038c1a2628af8">00080</a> <span class="preprocessor"></span><span class="preprocessor">#define r44 $44</span> <a name="l00081"></a><a class="code" href="gc__spu__macs_8h.html#ab49c703bcef37e0113f3fd0615d074a1">00081</a> <span class="preprocessor"></span><span class="preprocessor">#define r45 $45</span> <a name="l00082"></a><a class="code" href="gc__spu__macs_8h.html#a821f19f345d514b445a8a701720ce5d0">00082</a> <span class="preprocessor"></span><span class="preprocessor">#define r46 $46</span> <a name="l00083"></a><a class="code" href="gc__spu__macs_8h.html#a631bfb7dd1ab50faf92bc82eac852302">00083</a> <span class="preprocessor"></span><span class="preprocessor">#define r47 $47</span> <a name="l00084"></a><a class="code" href="gc__spu__macs_8h.html#a98ae063ec09bf5871679a6cbe2510a3e">00084</a> <span class="preprocessor"></span><span class="preprocessor">#define r48 $48</span> <a name="l00085"></a><a class="code" href="gc__spu__macs_8h.html#ae74ab67cf02a21783bfadef8af8920ed">00085</a> <span class="preprocessor"></span><span class="preprocessor">#define r49 $49</span> <a name="l00086"></a><a class="code" href="gc__spu__macs_8h.html#a9d30e66d8245a13a376e5e076676cd70">00086</a> <span class="preprocessor"></span><span class="preprocessor">#define r50 $50</span> <a name="l00087"></a><a class="code" href="gc__spu__macs_8h.html#a023c03f0e6fdd830e67f19810784b29b">00087</a> <span class="preprocessor"></span><span class="preprocessor">#define r51 $51</span> <a name="l00088"></a><a class="code" href="gc__spu__macs_8h.html#ae70afd3318b4768a7861f43d4a62d4cd">00088</a> <span class="preprocessor"></span><span class="preprocessor">#define r52 $52</span> <a name="l00089"></a><a class="code" href="gc__spu__macs_8h.html#ad9f9da9e588722bc2e8a33519dea8f5a">00089</a> <span class="preprocessor"></span><span class="preprocessor">#define r53 $53</span> <a name="l00090"></a><a class="code" href="gc__spu__macs_8h.html#a7ba3a30e57b55d3efbea46b19a87b662">00090</a> <span class="preprocessor"></span><span class="preprocessor">#define r54 $54</span> <a name="l00091"></a><a class="code" href="gc__spu__macs_8h.html#a00af33595967ead006297c303e3014cc">00091</a> <span class="preprocessor"></span><span class="preprocessor">#define r55 $55</span> <a name="l00092"></a><a class="code" href="gc__spu__macs_8h.html#a8d49d99e73806da724883bb726e1d2a8">00092</a> <span class="preprocessor"></span><span class="preprocessor">#define r56 $56</span> <a name="l00093"></a><a class="code" href="gc__spu__macs_8h.html#a06f9ead123343f833886ea2aec826603">00093</a> <span class="preprocessor"></span><span class="preprocessor">#define r57 $57</span> <a name="l00094"></a><a class="code" href="gc__spu__macs_8h.html#a0287c5f55292b7fc8bf6a2748f342f2c">00094</a> <span class="preprocessor"></span><span class="preprocessor">#define r58 $58</span> <a name="l00095"></a><a class="code" href="gc__spu__macs_8h.html#ad5e3698aa2ee608a9956a9395b311cb8">00095</a> <span class="preprocessor"></span><span class="preprocessor">#define r59 $59</span> <a name="l00096"></a><a class="code" href="gc__spu__macs_8h.html#a310b5449cb5b4c2783ef882187a51f40">00096</a> <span class="preprocessor"></span><span class="preprocessor">#define r60 $60</span> <a name="l00097"></a><a class="code" href="gc__spu__macs_8h.html#a68b431fd0707acb192ee3a94114a35e9">00097</a> <span class="preprocessor"></span><span class="preprocessor">#define r61 $61</span> <a name="l00098"></a><a class="code" href="gc__spu__macs_8h.html#a0d6c5f9f59530e8f333cb27e3a2fb349">00098</a> <span class="preprocessor"></span><span class="preprocessor">#define r62 $62</span> <a name="l00099"></a><a class="code" href="gc__spu__macs_8h.html#a292f18410d4f1824dd58d93e5a05928f">00099</a> <span class="preprocessor"></span><span class="preprocessor">#define r63 $63</span> <a name="l00100"></a><a class="code" href="gc__spu__macs_8h.html#af4b7d00445c018ccfaf06362579e3342">00100</a> <span class="preprocessor"></span><span class="preprocessor">#define r64 $64</span> <a name="l00101"></a><a class="code" href="gc__spu__macs_8h.html#a661e4ebf0bd455b00287c172e9b7a89b">00101</a> <span class="preprocessor"></span><span class="preprocessor">#define r65 $65</span> <a name="l00102"></a><a class="code" href="gc__spu__macs_8h.html#ac79bf85662a3ef58370d4f7fbd1390d1">00102</a> <span class="preprocessor"></span><span class="preprocessor">#define r66 $66</span> <a name="l00103"></a><a class="code" href="gc__spu__macs_8h.html#a3ac148427a397bf658229b6586e17578">00103</a> <span class="preprocessor"></span><span class="preprocessor">#define r67 $67</span> <a name="l00104"></a><a class="code" href="gc__spu__macs_8h.html#a7c509aefb35ab8475cbd6aaa21c0c092">00104</a> <span class="preprocessor"></span><span class="preprocessor">#define r68 $68</span> <a name="l00105"></a><a class="code" href="gc__spu__macs_8h.html#a80c36ce2787745146bbd5e6f58708947">00105</a> <span class="preprocessor"></span><span class="preprocessor">#define r69 $69</span> <a name="l00106"></a><a class="code" href="gc__spu__macs_8h.html#a6475abd44625b22d463b57b474c65ca7">00106</a> <span class="preprocessor"></span><span class="preprocessor">#define r70 $70</span> <a name="l00107"></a><a class="code" href="gc__spu__macs_8h.html#ae0c8fbb22d3edcf8c34ee4f2d5208c05">00107</a> <span class="preprocessor"></span><span class="preprocessor">#define r71 $71</span> <a name="l00108"></a><a class="code" href="gc__spu__macs_8h.html#a6becb1db4cfec71dd8bbc010df5916a4">00108</a> <span class="preprocessor"></span><span class="preprocessor">#define r72 $72</span> <a name="l00109"></a><a class="code" href="gc__spu__macs_8h.html#a758ce4675482731e3061100b82e25449">00109</a> <span class="preprocessor"></span><span class="preprocessor">#define r73 $73</span> <a name="l00110"></a><a class="code" href="gc__spu__macs_8h.html#a702cf700055abd7d39c70d3baf10e993">00110</a> <span class="preprocessor"></span><span class="preprocessor">#define r74 $74</span> <a name="l00111"></a><a class="code" href="gc__spu__macs_8h.html#ab0e090617aeb56d3c74e5bc6e5feca11">00111</a> <span class="preprocessor"></span><span class="preprocessor">#define r75 $75</span> <a name="l00112"></a><a class="code" href="gc__spu__macs_8h.html#a7ae0409204cb9c30262dd10a51446c49">00112</a> <span class="preprocessor"></span><span class="preprocessor">#define r76 $76</span> <a name="l00113"></a><a class="code" href="gc__spu__macs_8h.html#a792e01cd73c32988989e683fd0fa349a">00113</a> <span class="preprocessor"></span><span class="preprocessor">#define r77 $77</span> <a name="l00114"></a><a class="code" href="gc__spu__macs_8h.html#ad102ab20e4a1689b652e49e107c4511f">00114</a> <span class="preprocessor"></span><span class="preprocessor">#define r78 $78</span> <a name="l00115"></a><a class="code" href="gc__spu__macs_8h.html#a0a0f1de104d528899501da8d71497465">00115</a> <span class="preprocessor"></span><span class="preprocessor">#define r79 $79</span> <a name="l00116"></a><a class="code" href="gc__spu__macs_8h.html#a8bb658e0fa6d37fbb8c43e5e1e456025">00116</a> <span class="preprocessor"></span><span class="preprocessor">#define r80 $80</span> <a name="l00117"></a><a class="code" href="gc__spu__macs_8h.html#a77779b029999dacb12df8cae96bff73b">00117</a> <span class="preprocessor"></span><span class="preprocessor">#define r81 $81</span> <a name="l00118"></a><a class="code" href="gc__spu__macs_8h.html#a51686d6e2eabfc10aed17e74f6f85479">00118</a> <span class="preprocessor"></span><span class="preprocessor">#define r82 $82</span> <a name="l00119"></a><a class="code" href="gc__spu__macs_8h.html#a49b3b92044a70fc7ba5997b5d664d302">00119</a> <span class="preprocessor"></span><span class="preprocessor">#define r83 $83</span> <a name="l00120"></a><a class="code" href="gc__spu__macs_8h.html#a70f66d9595daf470f36375a55a6c6574">00120</a> <span class="preprocessor"></span><span class="preprocessor">#define r84 $84</span> <a name="l00121"></a><a class="code" href="gc__spu__macs_8h.html#a6ea38380181f8311b2d5f5df2c258aca">00121</a> <span class="preprocessor"></span><span class="preprocessor">#define r85 $85</span> <a name="l00122"></a><a class="code" href="gc__spu__macs_8h.html#ae091d308f08a949cc3d801424ec5d00c">00122</a> <span class="preprocessor"></span><span class="preprocessor">#define r86 $86</span> <a name="l00123"></a><a class="code" href="gc__spu__macs_8h.html#a2159232358fe08ebecd834f75848bbb9">00123</a> <span class="preprocessor"></span><span class="preprocessor">#define r87 $87</span> <a name="l00124"></a><a class="code" href="gc__spu__macs_8h.html#a270c785ab8d9cce93b0fef19b6c6155e">00124</a> <span class="preprocessor"></span><span class="preprocessor">#define r88 $88</span> <a name="l00125"></a><a class="code" href="gc__spu__macs_8h.html#a2b8cacde374d7d0a4e7e5529105fc9eb">00125</a> <span class="preprocessor"></span><span class="preprocessor">#define r89 $89</span> <a name="l00126"></a><a class="code" href="gc__spu__macs_8h.html#a9b1a671fa1b7c2654a051a976e95afab">00126</a> <span class="preprocessor"></span><span class="preprocessor">#define r90 $90</span> <a name="l00127"></a><a class="code" href="gc__spu__macs_8h.html#ad538a9be2ce6086801ff1b6ffc428b21">00127</a> <span class="preprocessor"></span><span class="preprocessor">#define r91 $91</span> <a name="l00128"></a><a class="code" href="gc__spu__macs_8h.html#a43aad5829b352e48aecb380981d9db37">00128</a> <span class="preprocessor"></span><span class="preprocessor">#define r92 $92</span> <a name="l00129"></a><a class="code" href="gc__spu__macs_8h.html#abe83809b9efcd5b1e9ede958b3fc0c2c">00129</a> <span class="preprocessor"></span><span class="preprocessor">#define r93 $93</span> <a name="l00130"></a><a class="code" href="gc__spu__macs_8h.html#a05130405c765316d2228e94c289f44d8">00130</a> <span class="preprocessor"></span><span class="preprocessor">#define r94 $94</span> <a name="l00131"></a><a class="code" href="gc__spu__macs_8h.html#a685d4d21f90a7b95cdb7606aeba3a80d">00131</a> <span class="preprocessor"></span><span class="preprocessor">#define r95 $95</span> <a name="l00132"></a><a class="code" href="gc__spu__macs_8h.html#a7707fc2f332483495280505cc0182e0e">00132</a> <span class="preprocessor"></span><span class="preprocessor">#define r96 $96</span> <a name="l00133"></a><a class="code" href="gc__spu__macs_8h.html#ab095016977b8029de02e07175223ea22">00133</a> <span class="preprocessor"></span><span class="preprocessor">#define r97 $97</span> <a name="l00134"></a><a class="code" href="gc__spu__macs_8h.html#afe951a3a7f7231850c58d499d957c541">00134</a> <span class="preprocessor"></span><span class="preprocessor">#define r98 $98</span> <a name="l00135"></a><a class="code" href="gc__spu__macs_8h.html#a52f113d748142f2fc6d691b2e637b372">00135</a> <span class="preprocessor"></span><span class="preprocessor">#define r99 $99</span> <a name="l00136"></a><a class="code" href="gc__spu__macs_8h.html#a9ee0ac1e84e9e9ad56e3b3543fcdf9e9">00136</a> <span class="preprocessor"></span><span class="preprocessor">#define r100 $100</span> <a name="l00137"></a><a class="code" href="gc__spu__macs_8h.html#a7af0c3ac372f53b7bc7438deea2afbf1">00137</a> <span class="preprocessor"></span><span class="preprocessor">#define r101 $101</span> <a name="l00138"></a><a class="code" href="gc__spu__macs_8h.html#aafa2db456289229cce771e201d5cf074">00138</a> <span class="preprocessor"></span><span class="preprocessor">#define r102 $102</span> <a name="l00139"></a><a class="code" href="gc__spu__macs_8h.html#adc7b58308a6e72f917542c32da51a918">00139</a> <span class="preprocessor"></span><span class="preprocessor">#define r103 $103</span> <a name="l00140"></a><a class="code" href="gc__spu__macs_8h.html#a132bb90eda9ad7c3438ef53d2607a7a9">00140</a> <span class="preprocessor"></span><span class="preprocessor">#define r104 $104</span> <a name="l00141"></a><a class="code" href="gc__spu__macs_8h.html#a722d04d1abd59e9e2f312bde22e37a52">00141</a> <span class="preprocessor"></span><span class="preprocessor">#define r105 $105</span> <a name="l00142"></a><a class="code" href="gc__spu__macs_8h.html#a59c49443ebff68644b40f958ef00c80b">00142</a> <span class="preprocessor"></span><span class="preprocessor">#define r106 $106</span> <a name="l00143"></a><a class="code" href="gc__spu__macs_8h.html#abc4e747c49a52b0fce64942d28c28290">00143</a> <span class="preprocessor"></span><span class="preprocessor">#define r107 $107</span> <a name="l00144"></a><a class="code" href="gc__spu__macs_8h.html#a81d5c2f6a1ca9c28a537d384a0ff2e7c">00144</a> <span class="preprocessor"></span><span class="preprocessor">#define r108 $108</span> <a name="l00145"></a><a class="code" href="gc__spu__macs_8h.html#af6841f9924d917e9b4d257687dda5a94">00145</a> <span class="preprocessor"></span><span class="preprocessor">#define r109 $109</span> <a name="l00146"></a><a class="code" href="gc__spu__macs_8h.html#a597c4112a4d85b83fc3a183e423369d8">00146</a> <span class="preprocessor"></span><span class="preprocessor">#define r110 $110</span> <a name="l00147"></a><a class="code" href="gc__spu__macs_8h.html#ac969cbc6b54f394c118b899194f9a3d9">00147</a> <span class="preprocessor"></span><span class="preprocessor">#define r111 $111</span> <a name="l00148"></a><a class="code" href="gc__spu__macs_8h.html#a58e5f5d007fdf5f647a6d505b5f52c34">00148</a> <span class="preprocessor"></span><span class="preprocessor">#define r112 $112</span> <a name="l00149"></a><a class="code" href="gc__spu__macs_8h.html#a8de4c8c38ab2b98298c3c7280f8b6f7d">00149</a> <span class="preprocessor"></span><span class="preprocessor">#define r113 $113</span> <a name="l00150"></a><a class="code" href="gc__spu__macs_8h.html#aaa45cf94492dfe0db0a467384165c76a">00150</a> <span class="preprocessor"></span><span class="preprocessor">#define r114 $114</span> <a name="l00151"></a><a class="code" href="gc__spu__macs_8h.html#abef42fa8a292616ab6c1d7ea22ca0ef2">00151</a> <span class="preprocessor"></span><span class="preprocessor">#define r115 $115</span> <a name="l00152"></a><a class="code" href="gc__spu__macs_8h.html#aa20af671898f36f50c51cbb22960808f">00152</a> <span class="preprocessor"></span><span class="preprocessor">#define r116 $116</span> <a name="l00153"></a><a class="code" href="gc__spu__macs_8h.html#a4b504886255242bb2d9c6131c6abca14">00153</a> <span class="preprocessor"></span><span class="preprocessor">#define r117 $117</span> <a name="l00154"></a><a class="code" href="gc__spu__macs_8h.html#a4091f3001fc799de332b12198834855f">00154</a> <span class="preprocessor"></span><span class="preprocessor">#define r118 $118</span> <a name="l00155"></a><a class="code" href="gc__spu__macs_8h.html#a500ad6a2b191f1ac98b71550da389778">00155</a> <span class="preprocessor"></span><span class="preprocessor">#define r119 $119</span> <a name="l00156"></a><a class="code" href="gc__spu__macs_8h.html#a6c01e791f8b83b569436251a8d676402">00156</a> <span class="preprocessor"></span><span class="preprocessor">#define r120 $120</span> <a name="l00157"></a><a class="code" href="gc__spu__macs_8h.html#a37e314d4bec7ddfe03f57985fee0b3bc">00157</a> <span class="preprocessor"></span><span class="preprocessor">#define r121 $121</span> <a name="l00158"></a><a class="code" href="gc__spu__macs_8h.html#a5591851136f8845c91b8cc649f752331">00158</a> <span class="preprocessor"></span><span class="preprocessor">#define r122 $122</span> <a name="l00159"></a><a class="code" href="gc__spu__macs_8h.html#a91217a8a9cea8bcc40a6f20d1c4ae7be">00159</a> <span class="preprocessor"></span><span class="preprocessor">#define r123 $123</span> <a name="l00160"></a><a class="code" href="gc__spu__macs_8h.html#ac0143716bae4d949f7e21cd9797a38f0">00160</a> <span class="preprocessor"></span><span class="preprocessor">#define r124 $124</span> <a name="l00161"></a><a class="code" href="gc__spu__macs_8h.html#a5efa066299d7ca481c0adb5fdd91ceb6">00161</a> <span class="preprocessor"></span><span class="preprocessor">#define r125 $125</span> <a name="l00162"></a><a class="code" href="gc__spu__macs_8h.html#a6ccbf1e64cab9d36791376a43b989b3f">00162</a> <span class="preprocessor"></span><span class="preprocessor">#define r126 $126</span> <a name="l00163"></a><a class="code" href="gc__spu__macs_8h.html#a5ca3f8dc097132763bf96dbd2cac2e88">00163</a> <span class="preprocessor"></span><span class="preprocessor">#define r127 $127</span> <a name="l00164"></a>00164 <span class="preprocessor"></span> <a name="l00165"></a>00165 <a name="l00166"></a><a class="code" href="gc__spu__macs_8h.html#ab7c4b924a9a37e04d2c49a0383720e05">00166</a> <span class="preprocessor">#define lr r0 // link register</span> <a name="l00167"></a><a class="code" href="gc__spu__macs_8h.html#a8d40798874dab99986478ef00ff3e297">00167</a> <span class="preprocessor"></span><span class="preprocessor">#define sp r1 // stack pointer</span> <a name="l00168"></a>00168 <span class="preprocessor"></span> <span class="comment">// r2 is environment pointer for langs that need it (ALGOL)</span> <a name="l00169"></a>00169 <a name="l00170"></a><a class="code" href="gc__spu__macs_8h.html#a696b31d3fc8a0a0f24948f98d0e4a4d1">00170</a> <span class="preprocessor">#define retval r3 // return values are passed in regs starting at r3</span> <a name="l00171"></a>00171 <span class="preprocessor"></span> <a name="l00172"></a><a class="code" href="gc__spu__macs_8h.html#a489500f7b5cfd21fa6730e3a56f1c1f7">00172</a> <span class="preprocessor">#define arg1 r3 // args are passed in regs starting at r3</span> <a name="l00173"></a><a class="code" href="gc__spu__macs_8h.html#a3ad2018792b545e1b82249aeb6a16d43">00173</a> <span class="preprocessor"></span><span class="preprocessor">#define arg2 r4</span> <a name="l00174"></a><a class="code" href="gc__spu__macs_8h.html#aef6bcb582f07be1d1cd5cded3e96e6ac">00174</a> <span class="preprocessor"></span><span class="preprocessor">#define arg3 r5</span> <a name="l00175"></a><a class="code" href="gc__spu__macs_8h.html#a1e925e623247312d0965da7524c72f6f">00175</a> <span class="preprocessor"></span><span class="preprocessor">#define arg4 r6</span> <a name="l00176"></a><a class="code" href="gc__spu__macs_8h.html#a22b03cd75d43aafed6ba1617901f894f">00176</a> <span class="preprocessor"></span><span class="preprocessor">#define arg5 r7</span> <a name="l00177"></a><a class="code" href="gc__spu__macs_8h.html#a56605356e728b2b64c1cb50c96bdf08f">00177</a> <span class="preprocessor"></span><span class="preprocessor">#define arg6 r8</span> <a name="l00178"></a><a class="code" href="gc__spu__macs_8h.html#a3da834826ea47aa0bebd583b14ba9a3c">00178</a> <span class="preprocessor"></span><span class="preprocessor">#define arg7 r9</span> <a name="l00179"></a><a class="code" href="gc__spu__macs_8h.html#a516fc2ae5b58fe9170bbce9b09743323">00179</a> <span class="preprocessor"></span><span class="preprocessor">#define arg8 r10</span> <a name="l00180"></a><a class="code" href="gc__spu__macs_8h.html#a91ccf1d98a4fc6f98a59059d927eb012">00180</a> <span class="preprocessor"></span><span class="preprocessor">#define arg9 r11</span> <a name="l00181"></a><a class="code" href="gc__spu__macs_8h.html#a644805a53197ae48879dd7fee8b1c2c7">00181</a> <span class="preprocessor"></span><span class="preprocessor">#define arg10 r12</span> <a name="l00182"></a>00182 <span class="preprocessor"></span> <a name="l00183"></a>00183 <span class="comment">// r3 - r74 are volatile (caller saves)</span> <a name="l00184"></a>00184 <span class="comment">// r74 - r79 are volatile (scratch regs possibly destroyed by fct prolog/epilog)</span> <a name="l00185"></a>00185 <span class="comment">// r80 - r127 are non-volatile (callee-saves)</span> <a name="l00186"></a>00186 <a name="l00187"></a>00187 <span class="comment">// scratch registers reserved for use by the macros in this file.</span> <a name="l00188"></a>00188 <a name="l00189"></a><a class="code" href="gc__spu__macs_8h.html#a9804f02b9ec3136dce714e375dbb6023">00189</a> <span class="preprocessor">#define _gc_t0 r79</span> <a name="l00190"></a><a class="code" href="gc__spu__macs_8h.html#a0e97406f425673393367c7ac0eb5ba1c">00190</a> <span class="preprocessor"></span><span class="preprocessor">#define _gc_t1 r78</span> <a name="l00191"></a><a class="code" href="gc__spu__macs_8h.html#a1f6516f74641ba951b7312b93b634114">00191</a> <span class="preprocessor"></span><span class="preprocessor">#define _gc_t2 r77</span> <a name="l00192"></a>00192 <span class="preprocessor"></span> <a name="l00193"></a>00193 <span class="comment">/*</span> <a name="l00194"></a>00194 <span class="comment"> * ----------------------------------------------------------------</span> <a name="l00195"></a>00195 <span class="comment"> * pseudo ops</span> <a name="l00196"></a>00196 <span class="comment"> * ----------------------------------------------------------------</span> <a name="l00197"></a>00197 <span class="comment"> */</span> <a name="l00198"></a><a class="code" href="gc__spu__macs_8h.html#a7882db5636c85954872e6fae51396a14">00198</a> <span class="preprocessor">#define PROC_ENTRY(name) \</span> <a name="l00199"></a>00199 <span class="preprocessor"> .text; \</span> <a name="l00200"></a>00200 <span class="preprocessor"> .p2align 4; \</span> <a name="l00201"></a>00201 <span class="preprocessor"> .global name; \</span> <a name="l00202"></a>00202 <span class="preprocessor"> .type name, @function; \</span> <a name="l00203"></a>00203 <span class="preprocessor">name:</span> <a name="l00204"></a>00204 <span class="preprocessor"></span> <a name="l00205"></a>00205 <span class="comment">/*</span> <a name="l00206"></a>00206 <span class="comment"> * ----------------------------------------------------------------</span> <a name="l00207"></a>00207 <span class="comment"> * aliases for common operations</span> <a name="l00208"></a>00208 <span class="comment"> * ----------------------------------------------------------------</span> <a name="l00209"></a>00209 <span class="comment"> */</span> <a name="l00210"></a>00210 <a name="l00211"></a>00211 <span class="comment">// Move register (even pipe, 2 cycles)</span> <a name="l00212"></a><a class="code" href="gc__spu__macs_8h.html#a54d5832709b14598363e8025c0034736">00212</a> <span class="preprocessor">#define MR(rt, ra) or rt, ra, ra;</span> <a name="l00213"></a>00213 <span class="preprocessor"></span> <a name="l00214"></a>00214 <span class="comment">// Move register (odd pipe, 4 cycles)</span> <a name="l00215"></a><a class="code" href="gc__spu__macs_8h.html#a24d8a481bd134b3ceaaf4b96adbfb083">00215</a> <span class="preprocessor">#define LMR(rt, ra) rotqbyi rt, ra, 0;</span> <a name="l00216"></a>00216 <span class="preprocessor"></span> <a name="l00217"></a>00217 <span class="comment">// return</span> <a name="l00218"></a><a class="code" href="gc__spu__macs_8h.html#a419f83b5dd1e61914653319c543ef682">00218</a> <span class="preprocessor">#define RETURN() bi lr;</span> <a name="l00219"></a>00219 <span class="preprocessor"></span> <a name="l00220"></a>00220 <span class="comment">// hint for a return</span> <a name="l00221"></a><a class="code" href="gc__spu__macs_8h.html#a3ac4cbddc5436038405dcbbfe3c96a9e">00221</a> <span class="preprocessor">#define HINT_RETURN(ret_label) hbr ret_label, lr;</span> <a name="l00222"></a>00222 <span class="preprocessor"></span> <a name="l00223"></a>00223 <span class="comment">// return if zero</span> <a name="l00224"></a><a class="code" href="gc__spu__macs_8h.html#afb8dfec7a8068d81ee877c13e653716a">00224</a> <span class="preprocessor">#define BRZ_RETURN(rt) biz rt, lr;</span> <a name="l00225"></a>00225 <span class="preprocessor"></span> <a name="l00226"></a>00226 <span class="comment">// return if not zero</span> <a name="l00227"></a><a class="code" href="gc__spu__macs_8h.html#af1b57c049617b3696a5e4a4de7f1d43c">00227</a> <span class="preprocessor">#define BRNZ_RETURN(rt) binz rt, lr;</span> <a name="l00228"></a>00228 <span class="preprocessor"></span> <a name="l00229"></a>00229 <span class="comment">// return if halfword zero</span> <a name="l00230"></a><a class="code" href="gc__spu__macs_8h.html#a793e73a6d0709a0299f0c2c3af410398">00230</a> <span class="preprocessor">#define BRHZ_RETURN(rt) bihz rt, lr;</span> <a name="l00231"></a>00231 <span class="preprocessor"></span> <a name="l00232"></a>00232 <span class="comment">// return if halfword not zero</span> <a name="l00233"></a><a class="code" href="gc__spu__macs_8h.html#ab5e110d39a6fe62435a77dec925827a4">00233</a> <span class="preprocessor">#define BRHNZ_RETURN(rt) bihnz rt, lr;</span> <a name="l00234"></a>00234 <span class="preprocessor"></span> <a name="l00235"></a>00235 <a name="l00236"></a>00236 <span class="comment">/*</span> <a name="l00237"></a>00237 <span class="comment"> * ----------------------------------------------------------------</span> <a name="l00238"></a>00238 <span class="comment"> * modulo like things for constant moduli that are powers of 2</span> <a name="l00239"></a>00239 <span class="comment"> * ----------------------------------------------------------------</span> <a name="l00240"></a>00240 <span class="comment"> */</span> <a name="l00241"></a>00241 <a name="l00242"></a>00242 <span class="comment">// rt = ra & (pow2 - 1)</span> <a name="l00243"></a><a class="code" href="gc__spu__macs_8h.html#ab6e74add9d5e9221c73a973c93be8198">00243</a> <span class="preprocessor">#define MODULO(rt, ra, pow2) \</span> <a name="l00244"></a>00244 <span class="preprocessor"> andi rt, ra, (pow2)-1;</span> <a name="l00245"></a>00245 <span class="preprocessor"></span> <a name="l00246"></a>00246 <span class="comment">// rt = pow2 - (ra & (pow2 - 1))</span> <a name="l00247"></a><a class="code" href="gc__spu__macs_8h.html#a302efba640e84aa393a6a9a028087d9f">00247</a> <span class="preprocessor">#define MODULO_NEG(rt, ra, pow2) \</span> <a name="l00248"></a>00248 <span class="preprocessor"> andi rt, ra, (pow2)-1; \</span> <a name="l00249"></a>00249 <span class="preprocessor"> sfi rt, rt, (pow2);</span> <a name="l00250"></a>00250 <span class="preprocessor"></span> <a name="l00251"></a>00251 <span class="comment">// rt = ra & -(pow2)</span> <a name="l00252"></a><a class="code" href="gc__spu__macs_8h.html#a23f8509fd1442ad31ed46242cb592116">00252</a> <span class="preprocessor">#define ROUND_DOWN(rt, ra, pow2) \</span> <a name="l00253"></a>00253 <span class="preprocessor"> andi rt, ra, -(pow2);</span> <a name="l00254"></a>00254 <span class="preprocessor"></span> <a name="l00255"></a>00255 <span class="comment">// rt = (ra + (pow2 - 1)) & -(pow2)</span> <a name="l00256"></a><a class="code" href="gc__spu__macs_8h.html#a7b95efc86000d35543da94f1a8b07199">00256</a> <span class="preprocessor">#define ROUND_UP(rt, ra, pow2) \</span> <a name="l00257"></a>00257 <span class="preprocessor"> ai rt, ra, (pow2)-1; \</span> <a name="l00258"></a>00258 <span class="preprocessor"> andi rt, rt, -(pow2);</span> <a name="l00259"></a>00259 <span class="preprocessor"></span> <a name="l00260"></a>00260 <span class="comment">/*</span> <a name="l00261"></a>00261 <span class="comment"> * ----------------------------------------------------------------</span> <a name="l00262"></a>00262 <span class="comment"> * Splat - replicate a particular slot into all slots</span> <a name="l00263"></a>00263 <span class="comment"> * Altivec analogs...</span> <a name="l00264"></a>00264 <span class="comment"> * ----------------------------------------------------------------</span> <a name="l00265"></a>00265 <span class="comment"> */</span> <a name="l00266"></a>00266 <a name="l00267"></a>00267 <span class="comment">// replicate byte from slot s [0,15]</span> <a name="l00268"></a><a class="code" href="gc__spu__macs_8h.html#a86a5bdfaecd0f1179af1d861e2618616">00268</a> <span class="preprocessor">#define VSPLTB(rt, ra, s) \</span> <a name="l00269"></a>00269 <span class="preprocessor"> ilh _gc_t0, (s)*0x0101; \</span> <a name="l00270"></a>00270 <span class="preprocessor"> shufb rt, ra, ra, _gc_t0;</span> <a name="l00271"></a>00271 <span class="preprocessor"></span> <a name="l00272"></a>00272 <span class="comment">// replicate halfword from slot s [0,7]</span> <a name="l00273"></a><a class="code" href="gc__spu__macs_8h.html#a733f79603702c70a2d0592b3b9e88ab5">00273</a> <span class="preprocessor">#define VSPLTH(rt, ra, s) \</span> <a name="l00274"></a>00274 <span class="preprocessor"> ilh _gc_t0, 2*(s)*0x0101 + 0x0001; \</span> <a name="l00275"></a>00275 <span class="preprocessor"> shufb rt, ra, ra, _gc_t0;</span> <a name="l00276"></a>00276 <span class="preprocessor"></span> <a name="l00277"></a>00277 <span class="comment">// replicate word from slot s [0,3]</span> <a name="l00278"></a><a class="code" href="gc__spu__macs_8h.html#a6eefb1b82fd514412cebd1190b3b12ae">00278</a> <span class="preprocessor">#define VSPLTW(rt, ra, s) \</span> <a name="l00279"></a>00279 <span class="preprocessor"> iluh _gc_t0, 4*(s)*0x0101 + 0x0001; \</span> <a name="l00280"></a>00280 <span class="preprocessor"> iohl _gc_t0, 4*(s)*0x0101 + 0x0203; \</span> <a name="l00281"></a>00281 <span class="preprocessor"> shufb rt, ra, ra, _gc_t0;</span> <a name="l00282"></a>00282 <span class="preprocessor"></span> <a name="l00283"></a>00283 <span class="comment">// replicate double from slot s [0,1]</span> <a name="l00284"></a><a class="code" href="gc__spu__macs_8h.html#a4503fff34746144188cc49e18ca37964">00284</a> <span class="preprocessor">#define VSPLTD(rt, ra, s) \</span> <a name="l00285"></a>00285 <span class="preprocessor"> </span><span class="comment">/* sp is always 16-byte aligned */</span> \ <a name="l00286"></a>00286 cdd _gc_t0, 8(sp); <span class="comment">/* 0x10111213 14151617 00010203 04050607 */</span> \ <a name="l00287"></a>00287 rotqbyi rt, ra, ra, (s) << 3; <span class="comment">/* rotate double into preferred slot */</span> \ <a name="l00288"></a>00288 shufb rt, rt, rt, _gc_t0; <a name="l00289"></a>00289 <a name="l00290"></a>00290 <span class="comment">/*</span> <a name="l00291"></a>00291 <span class="comment"> * ----------------------------------------------------------------</span> <a name="l00292"></a>00292 <span class="comment"> * lots of min/max variations...</span> <a name="l00293"></a>00293 <span class="comment"> *</span> <a name="l00294"></a>00294 <span class="comment"> * On a slot by slot basis, compute the min or max</span> <a name="l00295"></a>00295 <span class="comment"> *</span> <a name="l00296"></a>00296 <span class="comment"> * U - unsigned, else signed</span> <a name="l00297"></a>00297 <span class="comment"> * B,H,{} - byte, halfword, word</span> <a name="l00298"></a>00298 <span class="comment"> * F float</span> <a name="l00299"></a>00299 <span class="comment"> * ----------------------------------------------------------------</span> <a name="l00300"></a>00300 <span class="comment"> */</span> <a name="l00301"></a>00301 <a name="l00302"></a><a class="code" href="gc__spu__macs_8h.html#aeec770d283bbc898adf0b9cc13a07507">00302</a> <span class="preprocessor">#define MIN_SELB(rt, ra, rb, rc) selb rt, ra, rb, rc;</span> <a name="l00303"></a><a class="code" href="gc__spu__macs_8h.html#a04be39b6c32397ec20ada1755ee6a6bf">00303</a> <span class="preprocessor"></span><span class="preprocessor">#define MAX_SELB(rt, ra, rb, rc) selb rt, rb, ra, rc;</span> <a name="l00304"></a>00304 <span class="preprocessor"></span> <a name="l00305"></a>00305 <span class="comment">// words</span> <a name="l00306"></a>00306 <a name="l00307"></a><a class="code" href="gc__spu__macs_8h.html#a1a2d69dfede1bc3b178e33396e2a353a">00307</a> <span class="preprocessor">#define MIN(rt, ra, rb) \</span> <a name="l00308"></a>00308 <span class="preprocessor"> cgt _gc_t0, ra, rb; \</span> <a name="l00309"></a>00309 <span class="preprocessor"> MIN_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00310"></a>00310 <span class="preprocessor"></span> <a name="l00311"></a><a class="code" href="gc__spu__macs_8h.html#a61420b67e33273ce5db89b22f6f36e69">00311</a> <span class="preprocessor">#define MAX(rt, ra, rb) \</span> <a name="l00312"></a>00312 <span class="preprocessor"> cgt _gc_t0, ra, rb; \</span> <a name="l00313"></a>00313 <span class="preprocessor"> MAX_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00314"></a>00314 <span class="preprocessor"></span> <a name="l00315"></a><a class="code" href="gc__spu__macs_8h.html#a0956da47402edd3f727764f120de2b35">00315</a> <span class="preprocessor">#define UMIN(rt, ra, rb) \</span> <a name="l00316"></a>00316 <span class="preprocessor"> clgt _gc_t0, ra, rb; \</span> <a name="l00317"></a>00317 <span class="preprocessor"> MIN_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00318"></a>00318 <span class="preprocessor"></span> <a name="l00319"></a><a class="code" href="gc__spu__macs_8h.html#a1abd0fa2baa9e3d87f43d76d82852abb">00319</a> <span class="preprocessor">#define UMAX(rt, ra, rb) \</span> <a name="l00320"></a>00320 <span class="preprocessor"> clgt _gc_t0, ra, rb; \</span> <a name="l00321"></a>00321 <span class="preprocessor"> MAX_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00322"></a>00322 <span class="preprocessor"></span> <a name="l00323"></a>00323 <span class="comment">// bytes</span> <a name="l00324"></a>00324 <a name="l00325"></a><a class="code" href="gc__spu__macs_8h.html#a4706cfc99f6486119693400851ca16de">00325</a> <span class="preprocessor">#define MINB(rt, ra, rb) \</span> <a name="l00326"></a>00326 <span class="preprocessor"> cgtb _gc_t0, ra, rb; \</span> <a name="l00327"></a>00327 <span class="preprocessor"> MIN_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00328"></a>00328 <span class="preprocessor"></span> <a name="l00329"></a><a class="code" href="gc__spu__macs_8h.html#a573b692776e90f85f0ad48279794e004">00329</a> <span class="preprocessor">#define MAXB(rt, ra, rb) \</span> <a name="l00330"></a>00330 <span class="preprocessor"> cgtb _gc_t0, ra, rb; \</span> <a name="l00331"></a>00331 <span class="preprocessor"> MAX_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00332"></a>00332 <span class="preprocessor"></span> <a name="l00333"></a><a class="code" href="gc__spu__macs_8h.html#a02d06b581c2ff3bcf83fcc1d605e5f72">00333</a> <span class="preprocessor">#define UMINB(rt, ra, rb) \</span> <a name="l00334"></a>00334 <span class="preprocessor"> clgtb _gc_t0, ra, rb; \</span> <a name="l00335"></a>00335 <span class="preprocessor"> MIN_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00336"></a>00336 <span class="preprocessor"></span> <a name="l00337"></a><a class="code" href="gc__spu__macs_8h.html#ac0048e3c49063db5412070caa03c2d66">00337</a> <span class="preprocessor">#define UMAXB(rt, ra, rb) \</span> <a name="l00338"></a>00338 <span class="preprocessor"> clgtb _gc_t0, ra, rb; \</span> <a name="l00339"></a>00339 <span class="preprocessor"> MAX_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00340"></a>00340 <span class="preprocessor"></span> <a name="l00341"></a>00341 <span class="comment">// halfwords</span> <a name="l00342"></a>00342 <a name="l00343"></a><a class="code" href="gc__spu__macs_8h.html#ab12cf1c6de96ac907b6cd1b0a7681d5c">00343</a> <span class="preprocessor">#define MINH(rt, ra, rb) \</span> <a name="l00344"></a>00344 <span class="preprocessor"> cgth _gc_t0, ra, rb; \</span> <a name="l00345"></a>00345 <span class="preprocessor"> MIN_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00346"></a>00346 <span class="preprocessor"></span> <a name="l00347"></a><a class="code" href="gc__spu__macs_8h.html#a6a50798a9d6d43f31ccd0b6f69ce94bb">00347</a> <span class="preprocessor">#define MAXH(rt, ra, rb) \</span> <a name="l00348"></a>00348 <span class="preprocessor"> cgth _gc_t0, ra, rb; \</span> <a name="l00349"></a>00349 <span class="preprocessor"> MAX_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00350"></a>00350 <span class="preprocessor"></span> <a name="l00351"></a><a class="code" href="gc__spu__macs_8h.html#a011b8a265124421b442902d3128f3077">00351</a> <span class="preprocessor">#define UMINH(rt, ra, rb) \</span> <a name="l00352"></a>00352 <span class="preprocessor"> clgth _gc_t0, ra, rb; \</span> <a name="l00353"></a>00353 <span class="preprocessor"> MIN_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00354"></a>00354 <span class="preprocessor"></span> <a name="l00355"></a><a class="code" href="gc__spu__macs_8h.html#a2284e99fa492c3fc911763b3f7dfd6bb">00355</a> <span class="preprocessor">#define UMAXH(rt, ra, rb) \</span> <a name="l00356"></a>00356 <span class="preprocessor"> clgth _gc_t0, ra, rb; \</span> <a name="l00357"></a>00357 <span class="preprocessor"> MAX_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00358"></a>00358 <span class="preprocessor"></span> <a name="l00359"></a>00359 <span class="comment">// floats</span> <a name="l00360"></a>00360 <a name="l00361"></a><a class="code" href="gc__spu__macs_8h.html#a5a049b6dcf58fe44b34ce605f3eaca2b">00361</a> <span class="preprocessor">#define FMIN(rt, ra, rb) \</span> <a name="l00362"></a>00362 <span class="preprocessor"> fcgt _gc_t0, ra, rb; \</span> <a name="l00363"></a>00363 <span class="preprocessor"> MIN_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00364"></a>00364 <span class="preprocessor"></span> <a name="l00365"></a><a class="code" href="gc__spu__macs_8h.html#a7b421d0f1795f8ad600e46e88acc622c">00365</a> <span class="preprocessor">#define FMAX(rt, ra, rb) \</span> <a name="l00366"></a>00366 <span class="preprocessor"> fcgt _gc_t0, ra, rb; \</span> <a name="l00367"></a>00367 <span class="preprocessor"> MAX_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00368"></a>00368 <span class="preprocessor"></span> <a name="l00369"></a>00369 <span class="comment">// Ignoring the sign, select the values with the minimum magnitude</span> <a name="l00370"></a><a class="code" href="gc__spu__macs_8h.html#a7dd81f687f21a0ea73febf9858047643">00370</a> <span class="preprocessor">#define FMINMAG(rt, ra, rb) \</span> <a name="l00371"></a>00371 <span class="preprocessor"> fcmgt _gc_t0, ra, rb; \</span> <a name="l00372"></a>00372 <span class="preprocessor"> MIN_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00373"></a>00373 <span class="preprocessor"></span> <a name="l00374"></a>00374 <span class="comment">// Ignoring the sign, select the values with the maximum magnitude</span> <a name="l00375"></a><a class="code" href="gc__spu__macs_8h.html#a402f7cff81b427995f82f2d353cb966c">00375</a> <span class="preprocessor">#define FMAXMAG(rt, ra, rb) \</span> <a name="l00376"></a>00376 <span class="preprocessor"> fcmgt _gc_t0, ra, rb; \</span> <a name="l00377"></a>00377 <span class="preprocessor"> MAX_SELB(rt, ra, rb, _gc_t0)</span> <a name="l00378"></a>00378 <span class="preprocessor"></span> <a name="l00379"></a>00379 <a name="l00380"></a>00380 <span class="preprocessor">#endif </span><span class="comment">/* INCLUDED_GC_SPU_MACS_H */</span> </pre></div></div> <hr size="1"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address> </body> </html>