patches/gcc/4.3.2/340-make-mno-spe-work-as-expected.patch
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Mon Apr 16 15:25:36 2012 +0200 (2012-04-16)
changeset 2941 13e40098fffc
parent 792 da7a34dfa178
permissions -rw-r--r--
cc/gcc: update Linaro GCC revisions to 2012.04

Update Linaro GCC with the latest available revisions.

The 4.7 revision is also released, but the infrastructure is not yet ready for
it in CT-NG.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
yann@792
     1
2008-04-03  Nathan Froyd  <froydnj@codesourcery.com>
yann@874
     2
            Nathan Sidwell  <nathan@codesourcery.com>
yann@792
     3
yann@792
     4
        * config/rs6000/rs6000.opt (mspe): Remove Var property.
yann@874
     5
        (misel): Likewise.
yann@792
     6
        * config/rs6000/rs6000.h (rs6000_spe): Declare.
yann@874
     7
        (rs6000_isel): Likewise.
yann@792
     8
        * config/rs6000/rs6000.c (rs6000_spe): New variable.
yann@874
     9
        (rs6000_isel): New variable.
yann@874
    10
        (rs6000_handle_option): Handle OPT_mspe and OPT_misel.                                                                                         
yann@792
    11
yann@874
    12
diff -durN gcc-4.3.2.orig/gcc/config/rs6000/rs6000.c gcc-4.3.2/gcc/config/rs6000/rs6000.c
yann@874
    13
--- gcc-4.3.2.orig/gcc/config/rs6000/rs6000.c	2008-06-10 19:13:57.000000000 +0200
yann@874
    14
+++ gcc-4.3.2/gcc/config/rs6000/rs6000.c	2008-09-23 19:46:45.000000000 +0200
yann@874
    15
@@ -174,9 +174,15 @@
yann@792
    16
 /* Nonzero to use AltiVec ABI.  */
yann@792
    17
 int rs6000_altivec_abi;
yann@792
    18
 
yann@792
    19
+/* Nonzero if we want SPE SIMD instructions.  */
yann@792
    20
+int rs6000_spe;
yann@792
    21
+
yann@792
    22
 /* Nonzero if we want SPE ABI extensions.  */
yann@792
    23
 int rs6000_spe_abi;
yann@792
    24
 
yann@792
    25
+/* Nonzero to use isel instructions.  */
yann@792
    26
+int rs6000_isel;
yann@792
    27
+
yann@792
    28
 /* Nonzero if floating point operations are done in the GPRs.  */
yann@792
    29
 int rs6000_float_gprs = 0;
yann@792
    30
 
yann@874
    31
@@ -2144,11 +2150,21 @@
yann@792
    32
       rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
yann@792
    33
       break;
yann@792
    34
 
yann@792
    35
+    case OPT_misel:
yann@792
    36
+      rs6000_explicit_options.isel = true;
yann@792
    37
+      rs6000_isel = value;
yann@792
    38
+      break;
yann@792
    39
+
yann@792
    40
     case OPT_misel_:
yann@792
    41
       rs6000_explicit_options.isel = true;
yann@792
    42
       rs6000_parse_yes_no_option ("isel", arg, &(rs6000_isel));
yann@792
    43
       break;
yann@792
    44
 
yann@792
    45
+    case OPT_mspe:
yann@792
    46
+      rs6000_explicit_options.spe = true;
yann@792
    47
+      rs6000_spe = value;
yann@792
    48
+      break;
yann@792
    49
+
yann@792
    50
     case OPT_mspe_:
yann@792
    51
       rs6000_explicit_options.spe = true;
yann@792
    52
       rs6000_parse_yes_no_option ("spe", arg, &(rs6000_spe));
yann@874
    53
diff -durN gcc-4.3.2.orig/gcc/config/rs6000/rs6000.opt gcc-4.3.2/gcc/config/rs6000/rs6000.opt
yann@874
    54
--- gcc-4.3.2.orig/gcc/config/rs6000/rs6000.opt	2007-10-31 08:56:01.000000000 +0100
yann@874
    55
+++ gcc-4.3.2/gcc/config/rs6000/rs6000.opt	2008-09-23 19:46:45.000000000 +0200
yann@874
    56
@@ -190,7 +190,7 @@
yann@792
    57
 -mvrsave=yes/no	Deprecated option.  Use -mvrsave/-mno-vrsave instead
yann@792
    58
 
yann@792
    59
 misel
yann@792
    60
-Target Var(rs6000_isel)
yann@792
    61
+Target
yann@792
    62
 Generate isel instructions
yann@792
    63
 
yann@792
    64
 misel=
yann@874
    65
@@ -198,7 +198,7 @@
yann@792
    66
 -misel=yes/no	Deprecated option.  Use -misel/-mno-isel instead
yann@792
    67
 
yann@792
    68
 mspe
yann@792
    69
-Target Var(rs6000_spe)
yann@792
    70
+Target
yann@792
    71
 Generate SPE SIMD instructions on E500
yann@792
    72
 
yann@792
    73
 mpaired
yann@874
    74
diff -durN gcc-4.3.2.orig/gcc/config/rs6000/rs6000.h gcc-4.3.2/gcc/config/rs6000/rs6000.h
yann@874
    75
--- gcc-4.3.2.orig/gcc/config/rs6000/rs6000.h	2008-01-26 18:18:35.000000000 +0100
yann@874
    76
+++ gcc-4.3.2/gcc/config/rs6000/rs6000.h	2008-09-23 19:46:45.000000000 +0200
yann@874
    77
@@ -349,6 +349,8 @@
yann@792
    78
 extern int rs6000_ieeequad;
yann@792
    79
 extern int rs6000_altivec_abi;
yann@792
    80
 extern int rs6000_spe_abi;
yann@792
    81
+extern int rs6000_spe;
yann@792
    82
+extern int rs6000_isel;
yann@792
    83
 extern int rs6000_float_gprs;
yann@792
    84
 extern int rs6000_alignment_flags;
yann@792
    85
 extern const char *rs6000_sched_insert_nops_str;