diff options
Diffstat (limited to 'powerpc-cpu/README')
-rw-r--r-- | powerpc-cpu/README | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/powerpc-cpu/README b/powerpc-cpu/README deleted file mode 100644 index a83a4de24e..0000000000 --- a/powerpc-cpu/README +++ /dev/null @@ -1,98 +0,0 @@ -Powerpc-cpu add-on V0.1 - -What is it: - -The powerpc-cpu directory is an add-on for the GNU C Library (glibc). -It provides additional platform/cpu specific optimizations when the ---with-cpu= configure option is specified. On the glibc configure, -specifying --with-cpu=<cpu_type>, inserts the -mcpu=<cpu_type> option -for all 'C' compiles in the glibc make. It also inserts <cpu_type> -specific directories into the source search path for glibc. Source from -these <cpu_type> specific directories and override header or code source -from glibc. - -How do I use it: - -To build glibc with this add-on you need to configure glibc specifying both ---enable-add-ons=powerpc-cpu,.. and --with-cpu=<cpu_type> options. The -add-on source can be a direct subdirectory of glibc (i.e. -./libc/powerpc-cpu) which allows the short name, or a separate directory -from glibc, this requires a fully qualified path. (i.e. ---enable-add-ons=$HOME/powerpc-cpu,..). - -If you specify multiple add-ons, powerpc-cpu should be first to insure that -any optimizations can override the corresponding source files from mainline -glibc. For example: "--enable-add-ons=powerpc-cpu,nptl". - -How do I extent it: - -The optimized source code is found in the sysdeps/powerpc/powerpc32 and -sysdeps/powerpc/powerpc64 subdirectories. These directories support the 32- -and 64-bit ELF ABIs of the powerpc platform. The next directory level is -"<cpu_type>" where the names match supported gcc -mcpu= options. When ---with-cpu=<cpu_type> is specified, the <cpu_type> must match one of the -directories at this level. - -The mechanism is generalized and can be extended to any "cpu-type" that is -accepted by gcc's -mcpu= option. To support another "cpu_type" simply add a -directory of the form: - -./powerpc-cpu/sysdeps/powerpc/powerpc32/<cpu_type> - -and for 64-bit implementations also: - -./powerpc-cpu/sysdeps/powerpc/powerpc64/<cpu_type> - -See the GCC online documentation <http://gcc.gnu.org/onlinedocs> -3.17.24 "IBM RS/6000 and PowerPC Options" for the complete list of -mcpu= -options. - -Currently supported cpu_types are: - -power4 -power5 -power5+ -power6 -970 - -The --with-cpu=<cpu_type> option requires that corresponding directory -./powerpc-cpu/sysdeps/powerpc/powerpc[32|64]/<cpu_type> exists. This -directory can be empty in which case you get the benefit of -mcpu=<cpu_type> -which implies -mtune=<cpu_type>. To override source implementation from -glibc mainline simple provide an alternative implementation with the same -name in the appropriate ./<cpu_type> subdirectory. - -So far 970, power4, power5, power5+, and power6 are enabled with specific -assembler implementations and have corresponding directories for both -powerpc32 and powerpc64. For 64-bit <cpu_types>, implementations of the -32-bit ABI can share code exploiting 64-bit instructions from the generic -cpu_type powerpc64 (directory sysdeps/powerpc/powerpc32/powerpc64). -Specifically an "Implies" file, can be included in any -sysdeps/powerpc/powerpc32/<cpu_type> directory where <cpu_type> is a 64-bit -processor. This is useful when the implementation wants to exploit 64-bit -instructions in 32-bit mode. - -Special note: While this add-on is currently focused on powerpc, the -mechanism is general enough to be used by any platform which also supports -gcc's -mcpu= option. Simply add the appropriate ./sysdeps/<target>/<cpu_type> -directories. - -Special note: Currently the "970" implementation is implied to the power4 -implementation. The internal micro-architecture of the 970 chip is based on -the power4 design and scheduling for integer and floating point -units are the same for power4 and 970. Any 970 unique codes would be specific -to Altivec/VMX exploitation which we don't have any examples of yet. - -Special note: The directory search order has changed for glibc-2.4. So if your -optimization needs to override source files in mainline -./sysdeps/powerpc/powerpc[32|64]/fpu, additional tricks are needed. - -Normally ./sysdeps/powerpc/powerpc[32|64]/fpu from mainline will be searched -before ./powerpc-cpu/sysdeps/powerpc/powerpc[32|64]/<cpu_type>/fpu. However -./powerpc-cpu/sysdeps/unix/sysv/linux/powerpc/powerpc[32|64]/<cpu_type>/fpu -will be searched before either. So add an "Implies" file containing -"powerpc/powerpc[32|64]/<cpu_type>/fpu" in -./powerpc-cpu/sysdeps/unix/sysv/linux/powerpc/powerpc[32|64]/<cpu_type>/fpu as -a work around. You will need to repeat this for each <cpu_type> that needs to -override mainline. - |