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;