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