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 18 23:00:46 2011 +0200 (2011-05-18)
changeset 2467 200836977ce6
parent 792 da7a34dfa178
permissions -rw-r--r--
config: rename variables that are arrays

Make it explicit that a variable is an array bu the name of the variable.
It will be used later when .config gets munged to allow both multiple
arguments and arguments with spaces at the same time to be passed from the
configuration down to the build scripts.

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;