patches/gcc/4.3.2/340-make-mno-spe-work-as-expected.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 20 20:13:13 2009 +0000 (2009-05-20)
changeset 1345 27fec561af53
parent 792 da7a34dfa178
permissions -rw-r--r--
Merge the uClinux/noMMU stuff back to /trunk:
- merge Linux and uClinux back to a single kernel
- add ARCH_USE_MMU and acquainted config options that
architectures can auto-select
- make binutils and elf2flt two "Binary utilities" that
go in a single common sub-{menu,directory} structure

-------- diffstat follows --------
/trunk/scripts/build/kernel/uclinux.sh | 2 0 2 0 -
/trunk/scripts/build/kernel/linux.sh | 206 204 2 0 +++++++++++++++++++++++++++++
/trunk/scripts/build/kernel/linux-common.sh | 198 0 198 0 ----------------------------
/trunk/scripts/build/binutils.sh | 232 0 232 0 --------------------------------
/trunk/scripts/build/elf2flt.sh | 150 0 150 0 ---------------------
/trunk/scripts/crosstool-NG.sh.in | 6 4 2 0 +
/trunk/config/kernel/linux.in | 249 249 0 0 +++++++++++++++++++++++++++++++++++
/trunk/config/kernel/linux.in-common | 252 0 252 0 -----------------------------------
/trunk/config/kernel/uclinux.in | 21 0 21 0 ---
/trunk/config/target.in | 23 22 1 0 +++
/trunk/config/elf2flt.in | 49 0 49 0 -------
/trunk/config/libc/glibc.in | 2 1 1 0
/trunk/config/libc/eglibc.in | 2 1 1 0
/trunk/config/config.in | 1 0 1 0 -
/trunk/config/arch/sh.in | 1 1 0 0 +
/trunk/config/arch/arm.in | 2 1 1 0
/trunk/config/arch/powerpc.in | 1 1 0 0 +
/trunk/config/arch/ia64.in | 1 1 0 0 +
/trunk/config/arch/alpha.in | 1 1 0 0 +
/trunk/config/arch/x86.in | 1 1 0 0 +
/trunk/config/arch/mips.in | 1 1 0 0 +
/trunk/config/arch/powerpc64.in | 1 1 0 0 +
22 files changed, 489 insertions(+), 913 deletions(-)
     1 2008-04-03  Nathan Froyd  <froydnj@codesourcery.com>
     2             Nathan Sidwell  <nathan@codesourcery.com>
     3 
     4         * config/rs6000/rs6000.opt (mspe): Remove Var property.
     5         (misel): Likewise.
     6         * config/rs6000/rs6000.h (rs6000_spe): Declare.
     7         (rs6000_isel): Likewise.
     8         * config/rs6000/rs6000.c (rs6000_spe): New variable.
     9         (rs6000_isel): New variable.
    10         (rs6000_handle_option): Handle OPT_mspe and OPT_misel.                                                                                         
    11 
    12 diff -durN gcc-4.3.2.orig/gcc/config/rs6000/rs6000.c gcc-4.3.2/gcc/config/rs6000/rs6000.c
    13 --- gcc-4.3.2.orig/gcc/config/rs6000/rs6000.c	2008-06-10 19:13:57.000000000 +0200
    14 +++ gcc-4.3.2/gcc/config/rs6000/rs6000.c	2008-09-23 19:46:45.000000000 +0200
    15 @@ -174,9 +174,15 @@
    16  /* Nonzero to use AltiVec ABI.  */
    17  int rs6000_altivec_abi;
    18  
    19 +/* Nonzero if we want SPE SIMD instructions.  */
    20 +int rs6000_spe;
    21 +
    22  /* Nonzero if we want SPE ABI extensions.  */
    23  int rs6000_spe_abi;
    24  
    25 +/* Nonzero to use isel instructions.  */
    26 +int rs6000_isel;
    27 +
    28  /* Nonzero if floating point operations are done in the GPRs.  */
    29  int rs6000_float_gprs = 0;
    30  
    31 @@ -2144,11 +2150,21 @@
    32        rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
    33        break;
    34  
    35 +    case OPT_misel:
    36 +      rs6000_explicit_options.isel = true;
    37 +      rs6000_isel = value;
    38 +      break;
    39 +
    40      case OPT_misel_:
    41        rs6000_explicit_options.isel = true;
    42        rs6000_parse_yes_no_option ("isel", arg, &(rs6000_isel));
    43        break;
    44  
    45 +    case OPT_mspe:
    46 +      rs6000_explicit_options.spe = true;
    47 +      rs6000_spe = value;
    48 +      break;
    49 +
    50      case OPT_mspe_:
    51        rs6000_explicit_options.spe = true;
    52        rs6000_parse_yes_no_option ("spe", arg, &(rs6000_spe));
    53 diff -durN gcc-4.3.2.orig/gcc/config/rs6000/rs6000.opt gcc-4.3.2/gcc/config/rs6000/rs6000.opt
    54 --- gcc-4.3.2.orig/gcc/config/rs6000/rs6000.opt	2007-10-31 08:56:01.000000000 +0100
    55 +++ gcc-4.3.2/gcc/config/rs6000/rs6000.opt	2008-09-23 19:46:45.000000000 +0200
    56 @@ -190,7 +190,7 @@
    57  -mvrsave=yes/no	Deprecated option.  Use -mvrsave/-mno-vrsave instead
    58  
    59  misel
    60 -Target Var(rs6000_isel)
    61 +Target
    62  Generate isel instructions
    63  
    64  misel=
    65 @@ -198,7 +198,7 @@
    66  -misel=yes/no	Deprecated option.  Use -misel/-mno-isel instead
    67  
    68  mspe
    69 -Target Var(rs6000_spe)
    70 +Target
    71  Generate SPE SIMD instructions on E500
    72  
    73  mpaired
    74 diff -durN gcc-4.3.2.orig/gcc/config/rs6000/rs6000.h gcc-4.3.2/gcc/config/rs6000/rs6000.h
    75 --- gcc-4.3.2.orig/gcc/config/rs6000/rs6000.h	2008-01-26 18:18:35.000000000 +0100
    76 +++ gcc-4.3.2/gcc/config/rs6000/rs6000.h	2008-09-23 19:46:45.000000000 +0200
    77 @@ -349,6 +349,8 @@
    78  extern int rs6000_ieeequad;
    79  extern int rs6000_altivec_abi;
    80  extern int rs6000_spe_abi;
    81 +extern int rs6000_spe;
    82 +extern int rs6000_isel;
    83  extern int rs6000_float_gprs;
    84  extern int rs6000_alignment_flags;
    85  extern const char *rs6000_sched_insert_nops_str;