Create the 1.4 maintenance branch.
-------- diffstat follows --------
No data available: not in a working copy)
1 Original patch from: ../4.3.2/340-make-mno-spe-work-as-expected.patch
3 -= BEGIN original header =-
4 2008-04-03 Nathan Froyd <froydnj@codesourcery.com>
5 Nathan Sidwell <nathan@codesourcery.com>
7 * config/rs6000/rs6000.opt (mspe): Remove Var property.
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.
15 -= END original header =-
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
21 /* Nonzero to use AltiVec ABI. */
22 int rs6000_altivec_abi;
24 +/* Nonzero if we want SPE SIMD instructions. */
27 /* Nonzero if we want SPE ABI extensions. */
30 +/* Nonzero to use isel instructions. */
33 /* Nonzero if floating point operations are done in the GPRs. */
34 int rs6000_float_gprs = 0;
36 @@ -2144,11 +2150,21 @@
37 rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
41 + rs6000_explicit_options.isel = true;
42 + rs6000_isel = value;
46 rs6000_explicit_options.isel = true;
47 rs6000_parse_yes_no_option ("isel", arg, &(rs6000_isel));
51 + rs6000_explicit_options.spe = true;
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
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
74 -mvrsave=yes/no Deprecated option. Use -mvrsave/-mno-vrsave instead
77 -Target Var(rs6000_isel)
79 Generate isel instructions
83 -misel=yes/no Deprecated option. Use -misel/-mno-isel instead
86 -Target Var(rs6000_spe)
88 Generate SPE SIMD instructions on E500