patches/gcc/4.3.2/340-make-mno-spe-work-as-expected.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Aug 23 23:18:49 2010 +0200 (2010-08-23)
changeset 2099 1bb063c8a0ca
parent 792 da7a34dfa178
permissions -rw-r--r--
complibs: noone is using companion libs on the target; nuke them

As there's no longer any user of the companion libraries on the
target, nuke the build for the target.

Well, at least, there's libelf that's still needed by ltrace, so
we keep it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     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;