patches/gcc/4.3.1/340-make-mno-spe-work-as-expected.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Dec 30 15:36:22 2009 +0100 (2009-12-30)
changeset 1669 61edd9d19e3c
permissions -rw-r--r--
scripts/functions: add aria2, a powerfull downloader

aria2 is a powerfull downloader that is capable of chunking and
parallel retrieval.

Due to li;itations in crosstool-NG retrieval facilities, it's not possible
to take fully advantage of aria2. It might happen that, in the future,
those limitations get lifted away, so we can take use features such as
parallel downloading from more than one server at the same time. For now,
it should still speed up downloads thanks to parallel downloading of chunks.
     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 Index: gcc/config/rs6000/rs6000.c
    13 ===================================================================
    14 --- a/gcc/config/rs6000/rs6000.c	(revision 134642)
    15 +++ b/gcc/config/rs6000/rs6000.c	(working copy)
    16 @@ -174,9 +174,15 @@ int rs6000_ieeequad;
    17  /* Nonzero to use AltiVec ABI.  */
    18  int rs6000_altivec_abi;
    19  
    20 +/* Nonzero if we want SPE SIMD instructions.  */
    21 +int rs6000_spe;
    22 +
    23  /* Nonzero if we want SPE ABI extensions.  */
    24  int rs6000_spe_abi;
    25  
    26 +/* Nonzero to use isel instructions.  */
    27 +int rs6000_isel;
    28 +
    29  /* Nonzero if floating point operations are done in the GPRs.  */
    30  int rs6000_float_gprs = 0;
    31  
    32 @@ -2177,11 +2183,21 @@ rs6000_handle_option (size_t code, const
    33        rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
    34        break;
    35  
    36 +    case OPT_misel:
    37 +      rs6000_explicit_options.isel = true;
    38 +      rs6000_isel = value;
    39 +      break;
    40 +
    41      case OPT_misel_:
    42        rs6000_explicit_options.isel = true;
    43        rs6000_parse_yes_no_option ("isel", arg, &(rs6000_isel));
    44        break;
    45  
    46 +    case OPT_mspe:
    47 +      rs6000_explicit_options.spe = true;
    48 +      rs6000_spe = value;
    49 +      break;
    50 +
    51      case OPT_mspe_:
    52        rs6000_explicit_options.spe = true;
    53        rs6000_parse_yes_no_option ("spe", arg, &(rs6000_spe));
    54 Index: gcc/config/rs6000/rs6000.opt
    55 ===================================================================
    56 --- a/gcc/config/rs6000/rs6000.opt	(revision 134642)
    57 +++ b/gcc/config/rs6000/rs6000.opt	(working copy)
    58 @@ -190,7 +190,7 @@ Target RejectNegative Joined
    59  -mvrsave=yes/no	Deprecated option.  Use -mvrsave/-mno-vrsave instead
    60  
    61  misel
    62 -Target Var(rs6000_isel)
    63 +Target
    64  Generate isel instructions
    65  
    66  misel=
    67 @@ -198,7 +198,7 @@ Target RejectNegative Joined
    68  -misel=yes/no	Deprecated option.  Use -misel/-mno-isel instead
    69  
    70  mspe
    71 -Target Var(rs6000_spe)
    72 +Target
    73  Generate SPE SIMD instructions on E500
    74  
    75  mpaired
    76 Index: gcc/config/rs6000/rs6000.h
    77 ===================================================================
    78 --- a/gcc/config/rs6000/rs6000.h	(revision 134642)
    79 +++ b/gcc/config/rs6000/rs6000.h	(working copy)
    80 @@ -367,6 +367,8 @@ extern int rs6000_long_double_type_size;
    81  extern int rs6000_ieeequad;
    82  extern int rs6000_altivec_abi;
    83  extern int rs6000_spe_abi;
    84 +extern int rs6000_spe;
    85 +extern int rs6000_isel;
    86  extern int rs6000_float_gprs;
    87  extern int rs6000_alignment_flags;
    88  extern const char *rs6000_sched_insert_nops_str;
    89 
    90