Mercurial > hg > CbC > CbC_gcc
comparison gcc/machmode.h @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children | f6334be47118 |
comparison
equal
deleted
inserted
replaced
52:c156f1bd5cd9 | 55:77e2b8dfacca |
---|---|
1 /* Machine mode definitions for GCC; included by rtl.h and tree.h. | 1 /* Machine mode definitions for GCC; included by rtl.h and tree.h. |
2 Copyright (C) 1991, 1993, 1994, 1996, 1998, 1999, 2000, 2001, 2003, | 2 Copyright (C) 1991, 1993, 1994, 1996, 1998, 1999, 2000, 2001, 2003, |
3 2007, 2008 Free Software Foundation, Inc. | 3 2007, 2008, 2009 Free Software Foundation, Inc. |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify it under | 7 GCC is free software; you can redistribute it and/or modify it under |
8 the terms of the GNU General Public License as published by the Free | 8 the terms of the GNU General Public License as published by the Free |
39 | 39 |
40 /* Get the general kind of object that mode MODE represents | 40 /* Get the general kind of object that mode MODE represents |
41 (integer, floating, complex, etc.) */ | 41 (integer, floating, complex, etc.) */ |
42 | 42 |
43 extern const unsigned char mode_class[NUM_MACHINE_MODES]; | 43 extern const unsigned char mode_class[NUM_MACHINE_MODES]; |
44 #define GET_MODE_CLASS(MODE) mode_class[MODE] | 44 #define GET_MODE_CLASS(MODE) ((enum mode_class) mode_class[MODE]) |
45 | 45 |
46 /* Nonzero if MODE is an integral mode. */ | 46 /* Nonzero if MODE is an integral mode. */ |
47 #define INTEGRAL_MODE_P(MODE) \ | 47 #define INTEGRAL_MODE_P(MODE) \ |
48 (GET_MODE_CLASS (MODE) == MODE_INT \ | 48 (GET_MODE_CLASS (MODE) == MODE_INT \ |
49 || GET_MODE_CLASS (MODE) == MODE_PARTIAL_INT \ | 49 || GET_MODE_CLASS (MODE) == MODE_PARTIAL_INT \ |
217 #define GET_MODE_NUNITS(MODE) mode_nunits[MODE] | 217 #define GET_MODE_NUNITS(MODE) mode_nunits[MODE] |
218 | 218 |
219 /* Get the next wider natural mode (eg, QI -> HI -> SI -> DI -> TI). */ | 219 /* Get the next wider natural mode (eg, QI -> HI -> SI -> DI -> TI). */ |
220 | 220 |
221 extern const unsigned char mode_wider[NUM_MACHINE_MODES]; | 221 extern const unsigned char mode_wider[NUM_MACHINE_MODES]; |
222 #define GET_MODE_WIDER_MODE(MODE) mode_wider[MODE] | 222 #define GET_MODE_WIDER_MODE(MODE) ((enum machine_mode) mode_wider[MODE]) |
223 | 223 |
224 extern const unsigned char mode_2xwider[NUM_MACHINE_MODES]; | 224 extern const unsigned char mode_2xwider[NUM_MACHINE_MODES]; |
225 #define GET_MODE_2XWIDER_MODE(MODE) mode_2xwider[MODE] | 225 #define GET_MODE_2XWIDER_MODE(MODE) ((enum machine_mode) mode_2xwider[MODE]) |
226 | 226 |
227 /* Return the mode for data of a given size SIZE and mode class CLASS. | 227 /* Return the mode for data of a given size SIZE and mode class CLASS. |
228 If LIMIT is nonzero, then don't use modes bigger than MAX_FIXED_MODE_SIZE. | 228 If LIMIT is nonzero, then don't use modes bigger than MAX_FIXED_MODE_SIZE. |
229 The value is BLKmode if no other mode is found. */ | 229 The value is BLKmode if no other mode is found. */ |
230 | 230 |
255 #define GET_MODE_ALIGNMENT(MODE) get_mode_alignment (MODE) | 255 #define GET_MODE_ALIGNMENT(MODE) get_mode_alignment (MODE) |
256 | 256 |
257 /* For each class, get the narrowest mode in that class. */ | 257 /* For each class, get the narrowest mode in that class. */ |
258 | 258 |
259 extern const unsigned char class_narrowest_mode[MAX_MODE_CLASS]; | 259 extern const unsigned char class_narrowest_mode[MAX_MODE_CLASS]; |
260 #define GET_CLASS_NARROWEST_MODE(CLASS) class_narrowest_mode[CLASS] | 260 #define GET_CLASS_NARROWEST_MODE(CLASS) \ |
261 ((enum machine_mode) class_narrowest_mode[CLASS]) | |
261 | 262 |
262 /* Define the integer modes whose sizes are BITS_PER_UNIT and BITS_PER_WORD | 263 /* Define the integer modes whose sizes are BITS_PER_UNIT and BITS_PER_WORD |
263 and the mode whose class is Pmode and whose size is POINTER_SIZE. */ | 264 and the mode whose class is Pmode and whose size is POINTER_SIZE. */ |
264 | 265 |
265 extern enum machine_mode byte_mode; | 266 extern enum machine_mode byte_mode; |