1 /*---------------------------------------------------------------------------*
2   Project:  TwlSDK - include
3   File:     code32.h
4 
5   Copyright 2003-2008 Nintendo.  All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Date:: 2008-09-17#$
14   $Rev: 8556 $
15   $Author: okubata_ryoma $
16  *---------------------------------------------------------------------------*/
17 //
18 // include this instead of using C99 pragma extensions for compatibility
19 //
20 #if	defined(SDK_CW) || defined(SDK_RX) || defined(__MWERKS__)
21 #pragma thumb off
22 #elif	defined(SDK_ADS)
23 TO BE   DEFINED
24 #elif	defined(SDK_GCC)
25 TO BE   DEFINED
26 #endif
27 // Prepare to switch the definition of FX_Mul
28 #ifdef FX_Mul
29 #undef FX_Mul
30 #endif
31 // Prepare to switch the definition of FX_MulFx64c
32 #ifdef FX_Mul32x64c
33 #undef FX_Mul32x64c
34 #endif
35 // Prepare to switch the definition of MATH_CountLeadingZeros
36 #ifdef MATH_CountLeadingZeros
37 #undef MATH_CountLeadingZeros
38 #endif
39 // Because CPU is in ARM mode, inline versions are used.
40 #define FX_Mul(v1, v2)                 FX_MulInline(v1, v2)
41 #define FX_Mul32x64c(v32, v64c)        FX_Mul32x64cInline(v32, v64c)
42 #define MATH_CountLeadingZeros(x)      MATH_CountLeadingZerosInline(x)
43