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 --- |