patches/gcc/4.3.6/340-make-mno-spe-work-as-expected.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Jul 31 22:27:29 2012 +0200 (2012-07-31)
changeset 3018 7776e8369284
parent 2124 5dd0b83ae528
permissions -rw-r--r--
complibs/cloog: create missing m4 dir

Because we now patch configure.in and configure, the Makefile quicks
in a re-build rule as the source files are now more recent than the
bundled generated files, and that fails because the m4 directory
is missing, although on some systems where aclocal is not installed,
the re-build rule does nothing (except a warning).

Always create tht directory.

Reported-by: Per Arnold Blaasmo <per-arnold.blaasmo@atmel.com>
[Also thanks to Thomas De Schampheleire <patrickdepinguin@gmail.com>
for some digging works on this issue]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 Original patch from: ../4.3.2/340-make-mno-spe-work-as-expected.patch
     2 
     3 -= BEGIN original header =-
     4 2008-04-03  Nathan Froyd  <froydnj@codesourcery.com>
     5             Nathan Sidwell  <nathan@codesourcery.com>
     6 
     7         * config/rs6000/rs6000.opt (mspe): Remove Var property.
     8         (misel): Likewise.
     9         * config/rs6000/rs6000.h (rs6000_spe): Declare.
    10         (rs6000_isel): Likewise.
    11         * config/rs6000/rs6000.c (rs6000_spe): New variable.
    12         (rs6000_isel): New variable.
    13         (rs6000_handle_option): Handle OPT_mspe and OPT_misel.                                                                                         
    14 
    15 -= END original header =-
    16 
    17 diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.c gcc-4.3.3/gcc/config/rs6000/rs6000.c
    18 --- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.c	2008-11-18 23:07:58.000000000 +0100
    19 +++ gcc-4.3.3/gcc/config/rs6000/rs6000.c	2009-01-27 22:28:55.000000000 +0100
    20 @@ -174,9 +174,15 @@
    21  /* Nonzero to use AltiVec ABI.  */
    22  int rs6000_altivec_abi;
    23  
    24 +/* Nonzero if we want SPE SIMD instructions.  */
    25 +int rs6000_spe;
    26 +
    27  /* Nonzero if we want SPE ABI extensions.  */
    28  int rs6000_spe_abi;
    29  
    30 +/* Nonzero to use isel instructions.  */
    31 +int rs6000_isel;
    32 +
    33  /* Nonzero if floating point operations are done in the GPRs.  */
    34  int rs6000_float_gprs = 0;
    35  
    36 @@ -2144,11 +2150,21 @@
    37        rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
    38        break;
    39  
    40 +    case OPT_misel:
    41 +      rs6000_explicit_options.isel = true;
    42 +      rs6000_isel = value;
    43 +      break;
    44 +
    45      case OPT_misel_:
    46        rs6000_explicit_options.isel = true;
    47        rs6000_parse_yes_no_option ("isel", arg, &(rs6000_isel));
    48        break;
    49  
    50 +    case OPT_mspe:
    51 +      rs6000_explicit_options.spe = true;
    52 +      rs6000_spe = value;
    53 +      break;
    54 +
    55      case OPT_mspe_:
    56        rs6000_explicit_options.spe = true;
    57        rs6000_parse_yes_no_option ("spe", arg, &(rs6000_spe));
    58 diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.h gcc-4.3.3/gcc/config/rs6000/rs6000.h
    59 --- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.h	2008-01-26 18:18:35.000000000 +0100
    60 +++ gcc-4.3.3/gcc/config/rs6000/rs6000.h	2009-01-27 22:28:55.000000000 +0100
    61 @@ -349,6 +349,8 @@
    62  extern int rs6000_ieeequad;
    63  extern int rs6000_altivec_abi;
    64  extern int rs6000_spe_abi;
    65 +extern int rs6000_spe;
    66 +extern int rs6000_isel;
    67  extern int rs6000_float_gprs;
    68  extern int rs6000_alignment_flags;
    69  extern const char *rs6000_sched_insert_nops_str;
    70 diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.opt gcc-4.3.3/gcc/config/rs6000/rs6000.opt
    71 --- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.opt	2007-10-31 08:56:01.000000000 +0100
    72 +++ gcc-4.3.3/gcc/config/rs6000/rs6000.opt	2009-01-27 22:28:55.000000000 +0100
    73 @@ -190,7 +190,7 @@
    74  -mvrsave=yes/no	Deprecated option.  Use -mvrsave/-mno-vrsave instead
    75  
    76  misel
    77 -Target Var(rs6000_isel)
    78 +Target
    79  Generate isel instructions
    80  
    81  misel=
    82 @@ -198,7 +198,7 @@
    83  -misel=yes/no	Deprecated option.  Use -misel/-mno-isel instead
    84  
    85  mspe
    86 -Target Var(rs6000_spe)
    87 +Target
    88  Generate SPE SIMD instructions on E500
    89  
    90  mpaired