Commit 66188a7e by Geoffrey Keating Committed by Geoffrey Keating

aix.h (OS_MISSING_POWERPC64): Define.

	* config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
	(OS_MISSING_ALTIVEC): Define.
	* config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
	-force_cpusubtype_ALL.
	* config/rs6000/rs6000.c (rs6000_override_options): Rearrange
	CPU information table; now always set all CPU-specific values.
	Also, use Altivec and powerpc64 when chip and OS supports them.

From-SVN: r74820
parent 3afbff37
2003-12-18 Geoffrey Keating <geoffk@apple.com> 2003-12-18 Geoffrey Keating <geoffk@apple.com>
* config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
(OS_MISSING_ALTIVEC): Define.
* config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
-force_cpusubtype_ALL.
* config/rs6000/rs6000.c (rs6000_override_options): Rearrange
CPU information table; now always set all CPU-specific values.
Also, use Altivec and powerpc64 when chip and OS supports them.
2003-12-18 Geoffrey Keating <geoffk@apple.com>
* fixinc/inclhack.def (darwin_macho_dyldh): New. * fixinc/inclhack.def (darwin_macho_dyldh): New.
* fixinc/fixincl.x: Regenerate. * fixinc/fixincl.x: Regenerate.
......
...@@ -241,3 +241,8 @@ ...@@ -241,3 +241,8 @@
/* Print subsidiary information on the compiler version in use. */ /* Print subsidiary information on the compiler version in use. */
#define TARGET_VERSION ; #define TARGET_VERSION ;
/* No version of AIX fully supports AltiVec or 64-bit instructions in
32-bit mode. */
#define OS_MISSING_POWERPC64 1
#define OS_MISSING_ALTIVEC 1
...@@ -98,9 +98,14 @@ do { \ ...@@ -98,9 +98,14 @@ do { \
%{static: %{Zdynamic: %e conflicting code gen style switches are used}}\ %{static: %{Zdynamic: %e conflicting code gen style switches are used}}\
%{!static:%{!mdynamic-no-pic:-fPIC}}" %{!static:%{!mdynamic-no-pic:-fPIC}}"
/* It's virtually impossible to predict all the possible combinations
of -mcpu and -maltivec and whatnot, so just supply
-force_cpusubtype_ALL if any are seen. Radar 3492132 against the
assembler is asking for a .machine directive so we could get this
really right. */
#define ASM_SPEC "-arch ppc \ #define ASM_SPEC "-arch ppc \
%{Zforce_cpusubtype_ALL:-force_cpusubtype_ALL} \ %{Zforce_cpusubtype_ALL:-force_cpusubtype_ALL} \
%{!Zforce_cpusubtype_ALL:%{maltivec:-force_cpusubtype_ALL}}" %{!Zforce_cpusubtype_ALL:%{maltivec|mcpu=*|mpowerpc64:-force_cpusubtype_ALL}}"
#undef SUBTARGET_EXTRA_SPECS #undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \ #define SUBTARGET_EXTRA_SPECS \
......
...@@ -7239,13 +7239,15 @@ should normally not specify either @option{-mnew-mnemonics} or ...@@ -7239,13 +7239,15 @@ should normally not specify either @option{-mnew-mnemonics} or
@opindex mcpu @opindex mcpu
Set architecture type, register usage, choice of mnemonics, and Set architecture type, register usage, choice of mnemonics, and
instruction scheduling parameters for machine type @var{cpu_type}. instruction scheduling parameters for machine type @var{cpu_type}.
Supported values for @var{cpu_type} are @samp{rios}, @samp{rios1}, Supported values for @var{cpu_type} are @samp{401}, @samp{403},
@samp{rsc}, @samp{rios2}, @samp{rs64a}, @samp{601}, @samp{602}, @samp{405}, @samp{405fp}, @samp{440}, @samp{440fp}, @samp{505},
@samp{603}, @samp{603e}, @samp{604}, @samp{604e}, @samp{620}, @samp{601}, @samp{602}, @samp{603}, @samp{603e}, @samp{604},
@samp{630}, @samp{740}, @samp{7400}, @samp{7450}, @samp{G4}, @samp{604e}, @samp{620}, @samp{630}, @samp{740}, @samp{7400},
@samp{750}, @samp{G3}, @samp{power}, @samp{power2}, @samp{powerpc}, @samp{7450}, @samp{750}, @samp{801}, @samp{821}, @samp{823},
@samp{403}, @samp{505}, @samp{801}, @samp{821}, @samp{823}, @samp{860}, @samp{860}, @samp{970}, @samp{common}, @samp{ec603e}, @samp{G3},
@samp{970}, @samp{G5} and @samp{common}. @samp{G4}, @samp{G5}, @samp{power}, @samp{power2}, @samp{power3},
@samp{power4}, @samp{powerpc}, @samp{powerpc64}, @samp{rios},
@samp{rios1}, @samp{rios2}, @samp{rsc}, and @samp{rs64a}.
@option{-mcpu=common} selects a completely generic processor. Code @option{-mcpu=common} selects a completely generic processor. Code
generated under this option will run on any POWER or PowerPC processor. generated under this option will run on any POWER or PowerPC processor.
...@@ -7263,47 +7265,23 @@ The other options specify a specific processor. Code generated under ...@@ -7263,47 +7265,23 @@ The other options specify a specific processor. Code generated under
those options will run best on that processor, and may not run at all on those options will run best on that processor, and may not run at all on
others. others.
The @option{-mcpu} options automatically enable or disable other The @option{-mcpu} options automatically enable or disable the
@option{-m} options as follows: following options: @option{-maltivec}, @option{-mhard-float},
@option{-mmfcrf}, @option{-mmultiple}, @option{-mnew-mnemonics},
@table @samp @option{-mpower}, @option{-mpower2}, @option{-mpowerpc64},
@item common @option{-mpowerpc-gpopt}, @option{-mpowerpc-gfxopt},
@option{-mno-power}, @option{-mno-powerpc} @option{-mstring}. The particular options set for any particular CPU
will vary between compiler versions, depending on what setting seems
@item power to produce optimal code for that CPU; it doesn't necessarily reflect
@itemx power2 the actual hardware's capabilities. If you wish to set an individual
@itemx rios1 option to a particular value, you may specify it after the
@itemx rios2 @option{-mcpu} option, like @samp{-mcpu=970 -mno-altivec}.
@itemx rsc
@option{-mpower}, @option{-mno-powerpc}, @option{-mno-new-mnemonics} On AIX, the @option{-maltivec} and @option{-mpowerpc64} options are
not enabled or disabled by the @option{-mcpu} option at present, since
@item powerpc AIX does not have full support for these options. You may still
@itemx rs64a enable or disable them individually if you're sure it'll work in your
@itemx 602 environment.
@itemx 603
@itemx 603e
@itemx 604
@itemx 620
@itemx 630
@itemx 740
@itemx 7400
@itemx 7450
@itemx G4
@itemx 750
@itemx G3
@itemx 505
@itemx 970
@itemx G5
@option{-mno-power}, @option{-mpowerpc}, @option{-mnew-mnemonics}
@item 601
@option{-mpower}, @option{-mpowerpc}, @option{-mnew-mnemonics}
@item 403
@itemx 821
@itemx 860
@option{-mno-power}, @option{-mpowerpc}, @option{-mnew-mnemonics}, @option{-msoft-float}
@end table
@item -mtune=@var{cpu_type} @item -mtune=@var{cpu_type}
@opindex mtune @opindex mtune
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment