00001 /* 00002 * Copyright 2007. PathScale, LLC. All Rights Reserved. 00003 */ 00004 00005 /* 00006 * Copyright 2004, 2005, 2006 PathScale, Inc. All Rights Reserved. 00007 */ 00008 00009 /* 00010 00011 Copyright (C) 2000, 2001 Silicon Graphics, Inc. All Rights Reserved. 00012 00013 This program is free software; you can redistribute it and/or modify it 00014 under the terms of version 2 of the GNU General Public License as 00015 published by the Free Software Foundation. 00016 00017 This program is distributed in the hope that it would be useful, but 00018 WITHOUT ANY WARRANTY; without even the implied warranty of 00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00020 00021 Further, this software is distributed without any warranty that it is 00022 free of the rightful claim of any third person regarding infringement 00023 or the like. Any license provided herein, whether implied or 00024 otherwise, applies only to this software file. Patent licenses, if 00025 any, provided herein do not apply to combinations of this program with 00026 other software, or any other product whatsoever. 00027 00028 You should have received a copy of the GNU General Public License along 00029 with this program; if not, write the Free Software Foundation, Inc., 59 00030 Temple Place - Suite 330, Boston MA 02111-1307, USA. 00031 00032 Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pky, 00033 Mountain View, CA 94043, or: 00034 00035 http://www.sgi.com 00036 00037 For further information regarding this notice, see: 00038 00039 http://oss.sgi.com/projects/GenInfo/NoticeExplan 00040 00041 */ 00042 00043 00044 /* ==================================================================== 00045 * ==================================================================== 00046 * 00047 * Module: config_targ_opt.h 00048 * $Revision: 1.7 $ 00049 * $Date: 04/12/21 14:57:25-08:00 $ 00050 * $Author: bos@eng-25.internal.keyresearch.com $ 00051 * $Source: /home/bos/bk/kpro64-pending/common/com/x8664/SCCS/s.config_targ_opt.h $ 00052 * 00053 * Revision history: 00054 * 11-Apr-96 - Original Version 00055 * 00056 * Description: 00057 * 00058 * External definitions for the -TARG group. 00059 * 00060 * Some of these variables are also defined in config.h or 00061 * MIPS/config_targ.h, for historical reasons. In order to separate 00062 * the headers and minimize dependencies on changes to this one, new 00063 * group members should be defined only here, and their users should 00064 * explicitly include this file instead of having it indirectly 00065 * included (e.g. via config.h or MIPS/config_targ.h). We should also 00066 * work towards removing most of the definitions from those headers. 00067 * 00068 * Exported variables should have names prefixed by "TARG_" to 00069 * facilitate moving them to a pushable struct later if desired. 00070 * See config_debug.[hc] for an example. 00071 * 00072 * ==================================================================== 00073 * ==================================================================== 00074 */ 00075 00076 /* This file was named as config_TARG.h. 00077 * Change it into config_targ_opt.h because windows can not distiguish 00078 * between "config_targ.h" and "config_TARG.h". */ 00079 00080 #ifndef config_targ_opt_INCLUDED 00081 #define config_targ_opt_INCLUDED 00082 00083 #ifdef _KEEP_RCS_ID 00084 /*REFERENCED*/ 00085 static char *config_targ_opt_h_rcs_id = "$Source: /home/bos/bk/kpro64-pending/common/com/x8664/SCCS/s.config_targ_opt.h $ $Revision: 1.7 $"; 00086 #endif /* _KEEP_RCS_ID */ 00087 00088 #ifdef __cplusplus 00089 extern "C" { 00090 #endif /* __cplusplus */ 00091 00092 /* ==================================================================== 00093 * List of global variables that are set by the -TARG option group 00094 * These appear only here, requiring explicit inclusion of this file. 00095 * ==================================================================== 00096 */ 00097 00098 /* General target control: */ 00099 extern char *ABI_Name; /* -TARG:abi=xxx */ 00100 extern char *Processor_Name; /* -TARG:processor=xxx */ 00101 extern char *ISA_Name; /* -TARG:isa=xxx */ 00102 extern INT16 Target_FPRs; /* Number of target FP registers */ 00103 extern BOOL Pure_ABI; /* Avoid non-ABI constructs? */ 00104 00105 /* Fault handling: */ 00106 extern BOOL Force_FP_Precise_Mode; /* Force precise FP traps? */ 00107 extern BOOL Force_Memory_Dismiss; /* Force mem fault dismissal? */ 00108 extern BOOL Force_Page_Zero; /* Force mapping page zero? */ 00109 extern BOOL Force_SMM; /* Force sequential memory? */ 00110 extern char *FP_Excp_Max; /* Max FP trap enables */ 00111 extern char *FP_Excp_Min; /* Min FP trap enables */ 00112 00113 /* Force calls to be indirect (i.e. use address in register)? */ 00114 extern BOOL Force_Jalr; 00115 00116 /* Miscellaneous target instruction features: */ 00117 extern BOOL Madd_Allowed; /* Generate madd instructions? */ 00118 extern BOOL SYNC_Allowed; 00119 extern BOOL Slow_CVTDL; 00120 00121 extern BOOL Target_MMX; /* Generate mmx instructions? */ 00122 extern BOOL Target_MMX_Set; 00123 00124 extern BOOL Target_SSE; /* Generate sse instructions? */ 00125 extern BOOL Target_SSE_Set; 00126 00127 extern BOOL Target_SSE2; /* Generate sse2 instructions? */ 00128 extern BOOL Target_SSE2_Set; 00129 00130 extern BOOL Target_SSE3; /* Generate sse3 instructions? */ 00131 extern BOOL Target_SSE3_Set; 00132 00133 extern BOOL Target_3DNow; // Generate 3DNow instructions? 00134 extern BOOL Target_3DNow_Set; 00135 00136 extern BOOL Target_SSE4a; // Generate 3DNow instructions? 00137 extern BOOL Target_SSE4a_Set; 00138 00139 00140 extern int Target_x87_Precision; // precision of x87 calculations 00141 00142 /* Itanium options: */ 00143 extern BOOL Itanium_a0_step; /* a0 version of itanium chip */ 00144 00145 /* ==================================================================== 00146 * List of global variables that are set by the -TARG option group 00147 * These also appear in config_targ.h, and are implicitly included by 00148 * including config.h. They should be removed from there when it is 00149 * convenient. 00150 * ==================================================================== 00151 */ 00152 00153 #ifdef __cplusplus 00154 } 00155 #endif /* __cplusplus */ 00156 00157 #endif /* config_targ_opt_INCLUDED */
1.5.6