i386.h (171836) | i386.h (219374) |
---|---|
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, 2005, 2006 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 --- 116 unchanged lines hidden (view full) --- 125 126#define HAS_LONG_COND_BRANCH 1 127#define HAS_LONG_UNCOND_BRANCH 1 128 129#define TARGET_386 (ix86_tune == PROCESSOR_I386) 130#define TARGET_486 (ix86_tune == PROCESSOR_I486) 131#define TARGET_PENTIUM (ix86_tune == PROCESSOR_PENTIUM) 132#define TARGET_PENTIUMPRO (ix86_tune == PROCESSOR_PENTIUMPRO) | 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, 2005, 2006 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 --- 116 unchanged lines hidden (view full) --- 125 126#define HAS_LONG_COND_BRANCH 1 127#define HAS_LONG_UNCOND_BRANCH 1 128 129#define TARGET_386 (ix86_tune == PROCESSOR_I386) 130#define TARGET_486 (ix86_tune == PROCESSOR_I486) 131#define TARGET_PENTIUM (ix86_tune == PROCESSOR_PENTIUM) 132#define TARGET_PENTIUMPRO (ix86_tune == PROCESSOR_PENTIUMPRO) |
133#define TARGET_GEODE (ix86_tune == PROCESSOR_GEODE) |
|
133#define TARGET_K6 (ix86_tune == PROCESSOR_K6) 134#define TARGET_ATHLON (ix86_tune == PROCESSOR_ATHLON) 135#define TARGET_PENTIUM4 (ix86_tune == PROCESSOR_PENTIUM4) 136#define TARGET_K8 (ix86_tune == PROCESSOR_K8) 137#define TARGET_ATHLON_K8 (TARGET_K8 || TARGET_ATHLON) 138#define TARGET_NOCONA (ix86_tune == PROCESSOR_NOCONA) | 134#define TARGET_K6 (ix86_tune == PROCESSOR_K6) 135#define TARGET_ATHLON (ix86_tune == PROCESSOR_ATHLON) 136#define TARGET_PENTIUM4 (ix86_tune == PROCESSOR_PENTIUM4) 137#define TARGET_K8 (ix86_tune == PROCESSOR_K8) 138#define TARGET_ATHLON_K8 (TARGET_K8 || TARGET_ATHLON) 139#define TARGET_NOCONA (ix86_tune == PROCESSOR_NOCONA) |
140#define TARGET_CORE2 (ix86_tune == PROCESSOR_CORE2) |
|
139#define TARGET_GENERIC32 (ix86_tune == PROCESSOR_GENERIC32) 140#define TARGET_GENERIC64 (ix86_tune == PROCESSOR_GENERIC64) 141#define TARGET_GENERIC (TARGET_GENERIC32 || TARGET_GENERIC64) 142 143#define TUNEMASK (1 << ix86_tune) 144extern const int x86_use_leave, x86_push_memory, x86_zero_extend_with_and; 145extern const int x86_use_bit_test, x86_cmove, x86_deep_branch; 146extern const int x86_branch_hints, x86_unroll_strlen; --- 224 unchanged lines hidden (view full) --- 371 case '3': \ 372 builtin_define ("__tune_pentium3__"); \ 373 /* FALLTHRU */ \ 374 case '2': \ 375 builtin_define ("__tune_pentium2__"); \ 376 break; \ 377 } \ 378 } \ | 141#define TARGET_GENERIC32 (ix86_tune == PROCESSOR_GENERIC32) 142#define TARGET_GENERIC64 (ix86_tune == PROCESSOR_GENERIC64) 143#define TARGET_GENERIC (TARGET_GENERIC32 || TARGET_GENERIC64) 144 145#define TUNEMASK (1 << ix86_tune) 146extern const int x86_use_leave, x86_push_memory, x86_zero_extend_with_and; 147extern const int x86_use_bit_test, x86_cmove, x86_deep_branch; 148extern const int x86_branch_hints, x86_unroll_strlen; --- 224 unchanged lines hidden (view full) --- 373 case '3': \ 374 builtin_define ("__tune_pentium3__"); \ 375 /* FALLTHRU */ \ 376 case '2': \ 377 builtin_define ("__tune_pentium2__"); \ 378 break; \ 379 } \ 380 } \ |
381 else if (TARGET_GEODE) \ 382 { \ 383 builtin_define ("__tune_geode__"); \ 384 } \ |
|
379 else if (TARGET_K6) \ 380 { \ 381 builtin_define ("__tune_k6__"); \ 382 if (last_tune_char == '2') \ 383 builtin_define ("__tune_k6_2__"); \ 384 else if (last_tune_char == '3') \ 385 builtin_define ("__tune_k6_3__"); \ 386 } \ --- 5 unchanged lines hidden (view full) --- 392 builtin_define ("__tune_athlon_sse__"); \ 393 } \ 394 else if (TARGET_K8) \ 395 builtin_define ("__tune_k8__"); \ 396 else if (TARGET_PENTIUM4) \ 397 builtin_define ("__tune_pentium4__"); \ 398 else if (TARGET_NOCONA) \ 399 builtin_define ("__tune_nocona__"); \ | 385 else if (TARGET_K6) \ 386 { \ 387 builtin_define ("__tune_k6__"); \ 388 if (last_tune_char == '2') \ 389 builtin_define ("__tune_k6_2__"); \ 390 else if (last_tune_char == '3') \ 391 builtin_define ("__tune_k6_3__"); \ 392 } \ --- 5 unchanged lines hidden (view full) --- 398 builtin_define ("__tune_athlon_sse__"); \ 399 } \ 400 else if (TARGET_K8) \ 401 builtin_define ("__tune_k8__"); \ 402 else if (TARGET_PENTIUM4) \ 403 builtin_define ("__tune_pentium4__"); \ 404 else if (TARGET_NOCONA) \ 405 builtin_define ("__tune_nocona__"); \ |
406 else if (TARGET_CORE2) \ 407 builtin_define ("__tune_core2__"); \ |
|
400 \ 401 if (TARGET_MMX) \ 402 builtin_define ("__MMX__"); \ 403 if (TARGET_3DNOW) \ 404 builtin_define ("__3dNOW__"); \ 405 if (TARGET_3DNOW_A) \ 406 builtin_define ("__3dNOW_A__"); \ 407 if (TARGET_SSE) \ --- 24 unchanged lines hidden (view full) --- 432 } \ 433 else if (ix86_arch == PROCESSOR_PENTIUMPRO) \ 434 { \ 435 builtin_define ("__i686"); \ 436 builtin_define ("__i686__"); \ 437 builtin_define ("__pentiumpro"); \ 438 builtin_define ("__pentiumpro__"); \ 439 } \ | 408 \ 409 if (TARGET_MMX) \ 410 builtin_define ("__MMX__"); \ 411 if (TARGET_3DNOW) \ 412 builtin_define ("__3dNOW__"); \ 413 if (TARGET_3DNOW_A) \ 414 builtin_define ("__3dNOW_A__"); \ 415 if (TARGET_SSE) \ --- 24 unchanged lines hidden (view full) --- 440 } \ 441 else if (ix86_arch == PROCESSOR_PENTIUMPRO) \ 442 { \ 443 builtin_define ("__i686"); \ 444 builtin_define ("__i686__"); \ 445 builtin_define ("__pentiumpro"); \ 446 builtin_define ("__pentiumpro__"); \ 447 } \ |
448 else if (ix86_arch == PROCESSOR_GEODE) \ 449 { \ 450 builtin_define ("__geode"); \ 451 builtin_define ("__geode__"); \ 452 } \ |
|
440 else if (ix86_arch == PROCESSOR_K6) \ 441 { \ 442 \ 443 builtin_define ("__k6"); \ 444 builtin_define ("__k6__"); \ 445 if (last_arch_char == '2') \ 446 builtin_define ("__k6_2__"); \ 447 else if (last_arch_char == '3') \ --- 17 unchanged lines hidden (view full) --- 465 builtin_define ("__pentium4"); \ 466 builtin_define ("__pentium4__"); \ 467 } \ 468 else if (ix86_arch == PROCESSOR_NOCONA) \ 469 { \ 470 builtin_define ("__nocona"); \ 471 builtin_define ("__nocona__"); \ 472 } \ | 453 else if (ix86_arch == PROCESSOR_K6) \ 454 { \ 455 \ 456 builtin_define ("__k6"); \ 457 builtin_define ("__k6__"); \ 458 if (last_arch_char == '2') \ 459 builtin_define ("__k6_2__"); \ 460 else if (last_arch_char == '3') \ --- 17 unchanged lines hidden (view full) --- 478 builtin_define ("__pentium4"); \ 479 builtin_define ("__pentium4__"); \ 480 } \ 481 else if (ix86_arch == PROCESSOR_NOCONA) \ 482 { \ 483 builtin_define ("__nocona"); \ 484 builtin_define ("__nocona__"); \ 485 } \ |
486 else if (ix86_arch == PROCESSOR_CORE2) \ 487 { \ 488 builtin_define ("__core2"); \ 489 builtin_define ("__core2__"); \ 490 } \ |
|
473 } \ 474 while (0) 475 476#define TARGET_CPU_DEFAULT_i386 0 477#define TARGET_CPU_DEFAULT_i486 1 478#define TARGET_CPU_DEFAULT_pentium 2 479#define TARGET_CPU_DEFAULT_pentium_mmx 3 480#define TARGET_CPU_DEFAULT_pentiumpro 4 481#define TARGET_CPU_DEFAULT_pentium2 5 482#define TARGET_CPU_DEFAULT_pentium3 6 483#define TARGET_CPU_DEFAULT_pentium4 7 | 491 } \ 492 while (0) 493 494#define TARGET_CPU_DEFAULT_i386 0 495#define TARGET_CPU_DEFAULT_i486 1 496#define TARGET_CPU_DEFAULT_pentium 2 497#define TARGET_CPU_DEFAULT_pentium_mmx 3 498#define TARGET_CPU_DEFAULT_pentiumpro 4 499#define TARGET_CPU_DEFAULT_pentium2 5 500#define TARGET_CPU_DEFAULT_pentium3 6 501#define TARGET_CPU_DEFAULT_pentium4 7 |
484#define TARGET_CPU_DEFAULT_k6 8 485#define TARGET_CPU_DEFAULT_k6_2 9 486#define TARGET_CPU_DEFAULT_k6_3 10 487#define TARGET_CPU_DEFAULT_athlon 11 488#define TARGET_CPU_DEFAULT_athlon_sse 12 489#define TARGET_CPU_DEFAULT_k8 13 490#define TARGET_CPU_DEFAULT_pentium_m 14 491#define TARGET_CPU_DEFAULT_prescott 15 492#define TARGET_CPU_DEFAULT_nocona 16 493#define TARGET_CPU_DEFAULT_generic 17 | 502#define TARGET_CPU_DEFAULT_geode 8 503#define TARGET_CPU_DEFAULT_k6 9 504#define TARGET_CPU_DEFAULT_k6_2 10 505#define TARGET_CPU_DEFAULT_k6_3 11 506#define TARGET_CPU_DEFAULT_athlon 12 507#define TARGET_CPU_DEFAULT_athlon_sse 13 508#define TARGET_CPU_DEFAULT_k8 14 509#define TARGET_CPU_DEFAULT_pentium_m 15 510#define TARGET_CPU_DEFAULT_prescott 16 511#define TARGET_CPU_DEFAULT_nocona 17 512#define TARGET_CPU_DEFAULT_core2 18 513#define TARGET_CPU_DEFAULT_generic 19 |
494 495#define TARGET_CPU_DEFAULT_NAMES {"i386", "i486", "pentium", "pentium-mmx",\ 496 "pentiumpro", "pentium2", "pentium3", \ | 514 515#define TARGET_CPU_DEFAULT_NAMES {"i386", "i486", "pentium", "pentium-mmx",\ 516 "pentiumpro", "pentium2", "pentium3", \ |
497 "pentium4", "k6", "k6-2", "k6-3",\ | 517 "pentium4", "geode", "k6", "k6-2", "k6-3", \ |
498 "athlon", "athlon-4", "k8", \ 499 "pentium-m", "prescott", "nocona", \ | 518 "athlon", "athlon-4", "k8", \ 519 "pentium-m", "prescott", "nocona", \ |
500 "generic"} | 520 "core2", "generic"} |
501 502#ifndef CC1_SPEC 503#define CC1_SPEC "%(cc1_cpu) " 504#endif 505 506/* This macro defines names of additional specifications to put in the 507 specs that can be used in various specifications like CC1_SPEC. Its 508 definition is an initializer with a subgrouping for each command option. --- 1563 unchanged lines hidden (view full) --- 2072 mirrors this list, so changes to i386.md must be made at the same time. */ 2073 2074enum processor_type 2075{ 2076 PROCESSOR_I386, /* 80386 */ 2077 PROCESSOR_I486, /* 80486DX, 80486SX, 80486DX[24] */ 2078 PROCESSOR_PENTIUM, 2079 PROCESSOR_PENTIUMPRO, | 521 522#ifndef CC1_SPEC 523#define CC1_SPEC "%(cc1_cpu) " 524#endif 525 526/* This macro defines names of additional specifications to put in the 527 specs that can be used in various specifications like CC1_SPEC. Its 528 definition is an initializer with a subgrouping for each command option. --- 1563 unchanged lines hidden (view full) --- 2092 mirrors this list, so changes to i386.md must be made at the same time. */ 2093 2094enum processor_type 2095{ 2096 PROCESSOR_I386, /* 80386 */ 2097 PROCESSOR_I486, /* 80486DX, 80486SX, 80486DX[24] */ 2098 PROCESSOR_PENTIUM, 2099 PROCESSOR_PENTIUMPRO, |
2100 PROCESSOR_GEODE, |
|
2080 PROCESSOR_K6, 2081 PROCESSOR_ATHLON, 2082 PROCESSOR_PENTIUM4, 2083 PROCESSOR_K8, 2084 PROCESSOR_NOCONA, | 2101 PROCESSOR_K6, 2102 PROCESSOR_ATHLON, 2103 PROCESSOR_PENTIUM4, 2104 PROCESSOR_K8, 2105 PROCESSOR_NOCONA, |
2106 PROCESSOR_CORE2, |
|
2085 PROCESSOR_GENERIC32, 2086 PROCESSOR_GENERIC64, 2087 PROCESSOR_max 2088}; 2089 2090extern enum processor_type ix86_tune; 2091extern enum processor_type ix86_arch; 2092 --- 192 unchanged lines hidden --- | 2107 PROCESSOR_GENERIC32, 2108 PROCESSOR_GENERIC64, 2109 PROCESSOR_max 2110}; 2111 2112extern enum processor_type ix86_tune; 2113extern enum processor_type ix86_arch; 2114 --- 192 unchanged lines hidden --- |