Deleted Added
full compact
i386.h (132744) i386.h (146908)
1/* Definitions of target machine for GCC for IA-32.
2 Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
3 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by

--- 440 unchanged lines hidden (view full) ---

449 the frame pointer in leaf functions. */
450#define TARGET_DEFAULT 0
451
452/* This is not really a target flag, but is done this way so that
453 it's analogous to similar code for Mach-O on PowerPC. darwin.h
454 redefines this to 1. */
455#define TARGET_MACHO 0
456
1/* Definitions of target machine for GCC for IA-32.
2 Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
3 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by

--- 440 unchanged lines hidden (view full) ---

449 the frame pointer in leaf functions. */
450#define TARGET_DEFAULT 0
451
452/* This is not really a target flag, but is done this way so that
453 it's analogous to similar code for Mach-O on PowerPC. darwin.h
454 redefines this to 1. */
455#define TARGET_MACHO 0
456
457/* Subtargets may reset this to 1 in order to enable 96-bit long double
458 with the rounding mode forced to 53 bits. */
459#define TARGET_96_ROUND_53_LONG_DOUBLE 0
460
457/* This macro is similar to `TARGET_SWITCHES' but defines names of
458 command options that have values. Its definition is an
459 initializer with a subgrouping for each command option.
460
461 Each subgrouping contains a string constant, that defines the
462 fixed part of the option name, and the address of a variable. The
463 variable, type `char *', is set to the variable part of the given
464 option if the fixed part matches. The actual option name is made

--- 598 unchanged lines hidden (view full) ---

1063 : ((MODE) == XFmode \
1064 ? (TARGET_64BIT ? 2 : 3) \
1065 : (MODE) == XCmode \
1066 ? (TARGET_64BIT ? 4 : 6) \
1067 : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)))
1068
1069#define VALID_SSE2_REG_MODE(MODE) \
1070 ((MODE) == V16QImode || (MODE) == V8HImode || (MODE) == V2DFmode \
461/* This macro is similar to `TARGET_SWITCHES' but defines names of
462 command options that have values. Its definition is an
463 initializer with a subgrouping for each command option.
464
465 Each subgrouping contains a string constant, that defines the
466 fixed part of the option name, and the address of a variable. The
467 variable, type `char *', is set to the variable part of the given
468 option if the fixed part matches. The actual option name is made

--- 598 unchanged lines hidden (view full) ---

1067 : ((MODE) == XFmode \
1068 ? (TARGET_64BIT ? 2 : 3) \
1069 : (MODE) == XCmode \
1070 ? (TARGET_64BIT ? 4 : 6) \
1071 : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)))
1072
1073#define VALID_SSE2_REG_MODE(MODE) \
1074 ((MODE) == V16QImode || (MODE) == V8HImode || (MODE) == V2DFmode \
1071 || (MODE) == V2DImode)
1075 || (MODE) == V2DImode || (MODE) == DFmode)
1072
1073#define VALID_SSE_REG_MODE(MODE) \
1074 ((MODE) == TImode || (MODE) == V4SFmode || (MODE) == V4SImode \
1076
1077#define VALID_SSE_REG_MODE(MODE) \
1078 ((MODE) == TImode || (MODE) == V4SFmode || (MODE) == V4SImode \
1075 || (MODE) == SFmode || (MODE) == TFmode \
1076 /* Always accept SSE2 modes so that xmmintrin.h compiles. */ \
1077 || VALID_SSE2_REG_MODE (MODE) \
1078 || (TARGET_SSE2 && ((MODE) == DFmode || VALID_MMX_REG_MODE (MODE))))
1079 || (MODE) == SFmode || (MODE) == TFmode)
1079
1080#define VALID_MMX_REG_MODE_3DNOW(MODE) \
1081 ((MODE) == V2SFmode || (MODE) == SFmode)
1082
1083#define VALID_MMX_REG_MODE(MODE) \
1084 ((MODE) == DImode || (MODE) == V8QImode || (MODE) == V4HImode \
1085 || (MODE) == V2SImode || (MODE) == SImode)
1086

--- 1907 unchanged lines hidden (view full) ---

2994 {"local_exec_symbolic_operand", {SYMBOL_REF}}, \
2995 {"any_fp_register_operand", {REG}}, \
2996 {"register_and_not_any_fp_reg_operand", {REG}}, \
2997 {"fp_register_operand", {REG}}, \
2998 {"register_and_not_fp_reg_operand", {REG}}, \
2999 {"zero_extended_scalar_load_operand", {MEM}}, \
3000 {"vector_move_operand", {CONST_VECTOR, SUBREG, REG, MEM}}, \
3001 {"no_seg_address_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, \
1080
1081#define VALID_MMX_REG_MODE_3DNOW(MODE) \
1082 ((MODE) == V2SFmode || (MODE) == SFmode)
1083
1084#define VALID_MMX_REG_MODE(MODE) \
1085 ((MODE) == DImode || (MODE) == V8QImode || (MODE) == V4HImode \
1086 || (MODE) == V2SImode || (MODE) == SImode)
1087

--- 1907 unchanged lines hidden (view full) ---

2995 {"local_exec_symbolic_operand", {SYMBOL_REF}}, \
2996 {"any_fp_register_operand", {REG}}, \
2997 {"register_and_not_any_fp_reg_operand", {REG}}, \
2998 {"fp_register_operand", {REG}}, \
2999 {"register_and_not_fp_reg_operand", {REG}}, \
3000 {"zero_extended_scalar_load_operand", {MEM}}, \
3001 {"vector_move_operand", {CONST_VECTOR, SUBREG, REG, MEM}}, \
3002 {"no_seg_address_operand", {CONST_INT, CONST_DOUBLE, CONST, SYMBOL_REF, \
3002 LABEL_REF, SUBREG, REG, MEM, PLUS, MULT}},
3003 LABEL_REF, SUBREG, REG, MEM, PLUS, MULT}}, \
3004 {"compare_operator", {COMPARE}},
3003
3004/* A list of predicates that do special things with modes, and so
3005 should not elicit warnings for VOIDmode match_operand. */
3006
3007#define SPECIAL_MODE_PREDICATES \
3008 "ext_register_operand",
3009
3010/* Which processor to schedule for. The cpu attribute defines a list that

--- 191 unchanged lines hidden ---
3005
3006/* A list of predicates that do special things with modes, and so
3007 should not elicit warnings for VOIDmode match_operand. */
3008
3009#define SPECIAL_MODE_PREDICATES \
3010 "ext_register_operand",
3011
3012/* Which processor to schedule for. The cpu attribute defines a list that

--- 191 unchanged lines hidden ---