aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-12-07 18:37:28 +0000
committerMike Frysinger <vapier@gentoo.org>2008-12-07 18:37:28 +0000
commitbb67cd639acedc98370e5ab4b3c9ff1c2c1f921d (patch)
treef7d6fb34e4bcbf33c8d158120af94e1458cc6950 /4.3.2/gentoo
parentAdd patch from bug #247129; thanks to Joshua Kinard <kumba AT gentoo DOT org> (diff)
downloadgcc-patches-bb67cd639acedc98370e5ab4b3c9ff1c2c1f921d.tar.gz
gcc-patches-bb67cd639acedc98370e5ab4b3c9ff1c2c1f921d.tar.bz2
gcc-patches-bb67cd639acedc98370e5ab4b3c9ff1c2c1f921d.zip
cleanup patch and document
Diffstat (limited to '4.3.2/gentoo')
-rw-r--r--4.3.2/gentoo/74_all_sh-pr24836.patch4
-rw-r--r--4.3.2/gentoo/75_all_mips-r10k-cache-barriers.patch124
-rw-r--r--4.3.2/gentoo/76_all_mips-r10k-scheduling-support.patch29
-rw-r--r--4.3.2/gentoo/77_all_mips-r10k-support-for-atomic-memory-fixes.patch109
4 files changed, 114 insertions, 152 deletions
diff --git a/4.3.2/gentoo/74_all_sh-pr24836.patch b/4.3.2/gentoo/74_all_sh-pr24836.patch
index 4a76c95..995c21f 100644
--- a/4.3.2/gentoo/74_all_sh-pr24836.patch
+++ b/4.3.2/gentoo/74_all_sh-pr24836.patch
@@ -1,8 +1,8 @@
http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
http://gcc.gnu.org/PR24836
---- gcc/gcc/configure.ac (revision 106699)
-+++ gcc/gcc/configure.ac (working copy)
+--- gcc/gcc/configure.ac
++++ gcc/gcc/configure.ac
@@ -2446,7 +2446,7 @@
tls_first_minor=14
tls_as_opt="-m64 -Aesame --fatal-warnings"
diff --git a/4.3.2/gentoo/75_all_mips-r10k-cache-barriers.patch b/4.3.2/gentoo/75_all_mips-r10k-cache-barriers.patch
index f75240e..21ce3d4 100644
--- a/4.3.2/gentoo/75_all_mips-r10k-cache-barriers.patch
+++ b/4.3.2/gentoo/75_all_mips-r10k-cache-barriers.patch
@@ -1,6 +1,9 @@
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips-ftypes.def gcc-4.3.2/gcc/config/mips/mips-ftypes.def
---- gcc-4.3.2.orig/gcc/config/mips/mips-ftypes.def 2008-10-22 03:01:38.000000000 -0400
-+++ gcc-4.3.2/gcc/config/mips/mips-ftypes.def 2008-10-22 03:04:22.000000000 -0400
+backport from gcc-4.4
+
+http://bugs.gentoo.org/233231
+
+--- gcc-4.3.2/gcc/config/mips/mips-ftypes.def
++++ gcc-4.3.2/gcc/config/mips/mips-ftypes.def
@@ -87,6 +87,7 @@ DEF_MIPS_FTYPE (1, (V4QI, V4QI))
DEF_MIPS_FTYPE (2, (V4QI, V4QI, SI))
DEF_MIPS_FTYPE (2, (V4QI, V4QI, V4QI))
@@ -9,9 +12,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips-ftypes.def gcc-4.3.2/gcc/config/
DEF_MIPS_FTYPE (2, (VOID, SI, SI))
DEF_MIPS_FTYPE (2, (VOID, V2HI, V2HI))
DEF_MIPS_FTYPE (2, (VOID, V4QI, V4QI))
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.c gcc-4.3.2/gcc/config/mips/mips.c
---- gcc-4.3.2.orig/gcc/config/mips/mips.c 2008-10-22 03:01:38.000000000 -0400
-+++ gcc-4.3.2/gcc/config/mips/mips.c 2008-10-22 03:04:39.000000000 -0400
+--- gcc-4.3.2/gcc/config/mips/mips.c
++++ gcc-4.3.2/gcc/config/mips/mips.c
@@ -147,6 +147,13 @@ enum mips_address_type {
ADDRESS_SYMBOLIC
};
@@ -1244,9 +1246,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.c gcc-4.3.2/gcc/config/mips/mips
/* If TARGET_DSPR2, enable MASK_DSP. */
if (TARGET_DSPR2)
target_flags |= MASK_DSP;
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.h gcc-4.3.2/gcc/config/mips/mips.h
---- gcc-4.3.2.orig/gcc/config/mips/mips.h 2008-10-22 03:01:38.000000000 -0400
-+++ gcc-4.3.2/gcc/config/mips/mips.h 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/config/mips/mips.h
++++ gcc-4.3.2/gcc/config/mips/mips.h
@@ -520,6 +520,9 @@ enum mips_code_readable_setting {
\
if (mips_abi == ABI_EABI) \
@@ -1270,9 +1271,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.h gcc-4.3.2/gcc/config/mips/mips
/* Add -G xx support. */
#undef SWITCH_TAKES_ARG
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.md gcc-4.3.2/gcc/config/mips/mips.md
---- gcc-4.3.2.orig/gcc/config/mips/mips.md 2008-10-22 03:01:38.000000000 -0400
-+++ gcc-4.3.2/gcc/config/mips/mips.md 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/config/mips/mips.md
++++ gcc-4.3.2/gcc/config/mips/mips.md
@@ -210,6 +210,9 @@
(UNSPEC_DPAQX_SA_W_PH 446)
(UNSPEC_DPSQX_S_W_PH 447)
@@ -1309,9 +1309,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.md gcc-4.3.2/gcc/config/mips/mip
;; 64-bit floating point moves
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.opt gcc-4.3.2/gcc/config/mips/mips.opt
---- gcc-4.3.2.orig/gcc/config/mips/mips.opt 2008-10-22 03:01:38.000000000 -0400
-+++ gcc-4.3.2/gcc/config/mips/mips.opt 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/config/mips/mips.opt
++++ gcc-4.3.2/gcc/config/mips/mips.opt
@@ -232,6 +232,10 @@ mpaired-single
Target Report Mask(PAIRED_SINGLE_FLOAT)
Use paired-single floating-point instructions
@@ -1323,9 +1322,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.opt gcc-4.3.2/gcc/config/mips/mi
mshared
Target Report Var(TARGET_SHARED) Init(1)
When generating -mabicalls code, make the code suitable for use in shared libraries
-diff -Naurp gcc-4.3.2.orig/gcc/doc/extend.texi gcc-4.3.2/gcc/doc/extend.texi
---- gcc-4.3.2.orig/gcc/doc/extend.texi 2008-10-22 03:01:38.000000000 -0400
-+++ gcc-4.3.2/gcc/doc/extend.texi 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/doc/extend.texi
++++ gcc-4.3.2/gcc/doc/extend.texi
@@ -6713,6 +6713,7 @@ instructions, but allow the compiler to
* X86 Built-in Functions::
* MIPS DSP Built-in Functions::
@@ -1353,9 +1351,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/doc/extend.texi gcc-4.3.2/gcc/doc/extend.texi
@node PowerPC AltiVec Built-in Functions
@subsection PowerPC AltiVec Built-in Functions
-diff -Naurp gcc-4.3.2.orig/gcc/doc/invoke.texi gcc-4.3.2/gcc/doc/invoke.texi
---- gcc-4.3.2.orig/gcc/doc/invoke.texi 2008-10-22 03:01:38.000000000 -0400
-+++ gcc-4.3.2/gcc/doc/invoke.texi 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/doc/invoke.texi
++++ gcc-4.3.2/gcc/doc/invoke.texi
@@ -12459,6 +12459,73 @@ Work around certain SB-1 CPU core errata
(This flag currently works around the SB-1 revision 2
``F1'' and ``F2'' floating point errata.)
@@ -1430,9 +1427,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/doc/invoke.texi gcc-4.3.2/gcc/doc/invoke.texi
@item -mflush-func=@var{func}
@itemx -mno-flush-func
@opindex mflush-func
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/cache-1.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/cache-1.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/cache-1.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/cache-1.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/cache-1.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/cache-1.c
@@ -0,0 +1,30 @@
+/* { dg-mips-options "-O2" } */
+
@@ -1464,9 +1460,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/cache-1.c gcc-4.3.2/gcc
+/* { dg-final { scan-assembler "\tcache\t0x18,20\\(\\\$4\\)" } } */
+/* { dg-final { scan-assembler "\tcache\t0x0,0\\(\\\$.\\)" } } */
+/* { dg-final { scan-assembler "\tcache\t0x4,-80\\(\\\$4\\)" } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/mips.exp gcc-4.3.2/gcc/testsuite/gcc.target/mips/mips.exp
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/mips.exp 2008-10-22 03:01:38.000000000 -0400
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/mips.exp 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/mips.exp
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/mips.exp
@@ -238,6 +238,10 @@ proc dg-mips-options {args} {
} else {
append flags " -msoft-float"
@@ -1478,9 +1473,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/mips.exp gcc-4.3.2/gcc/
}
}
foreach flag $flags {
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-1.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-1.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-1.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-1.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-1.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-1.c
@@ -0,0 +1,45 @@
+/* { dg-mips-options "-O2 -mabi=64 -mr10k-cache-barrier=store" } */
+
@@ -1527,9 +1521,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-1.c
+TEST (ffffffffbffffff8)
+
+/* { dg-final { scan-assembler-not "\tcache\t" } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c
@@ -0,0 +1,18 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store -mips4 -mbranch-likely -mno-abicalls" } */
+int bar (int);
@@ -1549,9 +1542,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-10.c
+}
+
+/* { dg-final { scan-assembler-not "\tcache\t" } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-11.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-11.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-11.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-11.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-11.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-11.c
@@ -0,0 +1,13 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store -mno-abicalls" } */
+
@@ -1566,9 +1558,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-11.c
+}
+
+/* { dg-final { scan-assembler-times "\tcache\t" 1 } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-12.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-12.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-12.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-12.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-12.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-12.c
@@ -0,0 +1,13 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=load-store -mno-abicalls" } */
+
@@ -1583,9 +1574,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-12.c
+}
+
+/* { dg-final { scan-assembler-times "\tcache\t" 2 } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-13.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-13.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-13.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-13.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-13.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-13.c
@@ -0,0 +1,14 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store" } */
+
@@ -1601,9 +1591,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-13.c
+}
+
+/* { dg-final { scan-assembler-times "\tcache\t" 1 } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c
@@ -0,0 +1,7 @@
+/* { dg-do compile { target mips16_attribute } } */
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store" } */
@@ -1612,15 +1601,13 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-14.c
+/* Test that indirect calls are protected. */
+
+MIPS16 void foo (void) { } /* { dg-message "sorry, unimplemented" } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-15.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-15.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-15.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-15.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-15.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-15.c
@@ -0,0 +1,2 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store -mips2" } */
+/* { dg-error "requires.*cache.*instruction" "" { target *-*-* } 0 } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-2.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-2.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-2.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-2.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-2.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-2.c
@@ -0,0 +1,40 @@
+/* { dg-mips-options "-O2 -mabi=64 -mr10k-cache-barrier=store" } */
+
@@ -1662,9 +1649,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-2.c
+TEST (ffffffffc0000000)
+
+/* { dg-final { scan-assembler-times "\tcache\t" 18 } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-3.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-3.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-3.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-3.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-3.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-3.c
@@ -0,0 +1,17 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store -mno-abicalls" } */
+
@@ -1683,9 +1669,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-3.c
+}
+
+/* { dg-final { scan-assembler-not "\tcache\t" } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-4.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-4.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-4.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-4.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-4.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-4.c
@@ -0,0 +1,20 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store -mno-abicalls" } */
+
@@ -1707,9 +1692,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-4.c
+}
+
+/* { dg-final { scan-assembler-times "\tcache\t" 2 } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-5.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-5.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-5.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-5.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-5.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-5.c
@@ -0,0 +1,19 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store -mno-abicalls -mabi=64" } */
+
@@ -1730,9 +1714,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-5.c
+}
+
+/* { dg-final { scan-assembler-not "\tcache\t" } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-6.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-6.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-6.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-6.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-6.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-6.c
@@ -0,0 +1,19 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store -mabi=64" } */
+
@@ -1753,9 +1736,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-6.c
+}
+
+/* { dg-final { scan-assembler "\tcache\t" } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-7.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-7.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-7.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-7.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-7.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-7.c
@@ -0,0 +1,27 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store -mno-abicalls" } */
+
@@ -1784,9 +1766,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-7.c
+}
+
+/* { dg-final { scan-assembler-times "\tcache\t" 2 } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-8.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-8.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-8.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-8.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-8.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-8.c
@@ -0,0 +1,15 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store -G8" } */
+
@@ -1803,9 +1784,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-8.c
+}
+
+/* { dg-final { scan-assembler-not "\tcache\t" } } */
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-9.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-9.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-9.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-9.c 2008-10-22 03:04:22.000000000 -0400
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-9.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/r10k-cache-barrier-9.c
@@ -0,0 +1,19 @@
+/* { dg-mips-options "-O2 -mr10k-cache-barrier=store -G8" } */
+
diff --git a/4.3.2/gentoo/76_all_mips-r10k-scheduling-support.patch b/4.3.2/gentoo/76_all_mips-r10k-scheduling-support.patch
index 7d82f3c..e9b9231 100644
--- a/4.3.2/gentoo/76_all_mips-r10k-scheduling-support.patch
+++ b/4.3.2/gentoo/76_all_mips-r10k-scheduling-support.patch
@@ -1,6 +1,9 @@
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/10000.md gcc-4.3.2/gcc/config/mips/10000.md
---- gcc-4.3.2.orig/gcc/config/mips/10000.md 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/config/mips/10000.md 2008-10-22 01:54:52.000000000 -0400
+backport from gcc-4.4
+
+http://bugs.gentoo.org/233230
+
+--- gcc-4.3.2/gcc/config/mips/10000.md
++++ gcc-4.3.2/gcc/config/mips/10000.md
@@ -0,0 +1,254 @@
+;; DFA-based pipeline description for the VR1x000.
+;; Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc.
@@ -256,9 +259,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/10000.md gcc-4.3.2/gcc/config/mips/10
+ (eq_attr "type" "unknown,multi"))
+ "r10k_alu1 + r10k_alu2")
+
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.c gcc-4.3.2/gcc/config/mips/mips.c
---- gcc-4.3.2.orig/gcc/config/mips/mips.c 2008-10-22 01:25:10.000000000 -0400
-+++ gcc-4.3.2/gcc/config/mips/mips.c 2008-10-22 01:54:52.000000000 -0400
+--- gcc-4.3.2/gcc/config/mips/mips.c
++++ gcc-4.3.2/gcc/config/mips/mips.c
@@ -597,6 +597,10 @@ static const struct mips_cpu_info mips_c
/* MIPS IV processors. */
@@ -302,9 +304,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.c gcc-4.3.2/gcc/config/mips/mips
case PROCESSOR_20KC:
case PROCESSOR_R4130:
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.h gcc-4.3.2/gcc/config/mips/mips.h
---- gcc-4.3.2.orig/gcc/config/mips/mips.h 2008-10-22 01:25:10.000000000 -0400
-+++ gcc-4.3.2/gcc/config/mips/mips.h 2008-10-22 01:54:52.000000000 -0400
+--- gcc-4.3.2/gcc/config/mips/mips.h
++++ gcc-4.3.2/gcc/config/mips/mips.h
@@ -64,6 +64,7 @@ enum processor_type {
PROCESSOR_R7000,
PROCESSOR_R8000,
@@ -313,9 +314,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.h gcc-4.3.2/gcc/config/mips/mips
PROCESSOR_SB1,
PROCESSOR_SB1A,
PROCESSOR_SR71000,
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.md gcc-4.3.2/gcc/config/mips/mips.md
---- gcc-4.3.2.orig/gcc/config/mips/mips.md 2008-10-22 01:25:10.000000000 -0400
-+++ gcc-4.3.2/gcc/config/mips/mips.md 2008-10-22 01:54:52.000000000 -0400
+--- gcc-4.3.2/gcc/config/mips/mips.md
++++ gcc-4.3.2/gcc/config/mips/mips.md
@@ -415,7 +415,7 @@
;; Attribute describing the processor. This attribute must match exactly
;; with the processor_type enumeration in mips.h.
@@ -333,9 +333,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.md gcc-4.3.2/gcc/config/mips/mip
(include "sb1.md")
(include "sr71k.md")
(include "generic.md")
-diff -Naurp gcc-4.3.2.orig/gcc/doc/invoke.texi gcc-4.3.2/gcc/doc/invoke.texi
---- gcc-4.3.2.orig/gcc/doc/invoke.texi 2008-10-22 01:25:10.000000000 -0400
-+++ gcc-4.3.2/gcc/doc/invoke.texi 2008-10-22 01:54:52.000000000 -0400
+--- gcc-4.3.2/gcc/doc/invoke.texi
++++ gcc-4.3.2/gcc/doc/invoke.texi
@@ -11875,6 +11875,7 @@ The processor names are:
@samp{r2000}, @samp{r3000}, @samp{r3900}, @samp{r4000}, @samp{r4400},
@samp{r4600}, @samp{r4650}, @samp{r6000}, @samp{r8000},
diff --git a/4.3.2/gentoo/77_all_mips-r10k-support-for-atomic-memory-fixes.patch b/4.3.2/gentoo/77_all_mips-r10k-support-for-atomic-memory-fixes.patch
index 2a54971..6fd6ce9 100644
--- a/4.3.2/gentoo/77_all_mips-r10k-support-for-atomic-memory-fixes.patch
+++ b/4.3.2/gentoo/77_all_mips-r10k-support-for-atomic-memory-fixes.patch
@@ -1,6 +1,9 @@
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips-protos.h gcc-4.3.2/gcc/config/mips/mips-protos.h
---- gcc-4.3.2.orig/gcc/config/mips/mips-protos.h 2008-01-26 05:22:14.000000000 -0500
-+++ gcc-4.3.2/gcc/config/mips/mips-protos.h 2008-11-16 02:08:09.000000000 -0500
+backport from gcc-4.4
+
+http://bugs.gentoo.org/247129
+
+--- gcc-4.3.2/gcc/config/mips/mips-protos.h
++++ gcc-4.3.2/gcc/config/mips/mips-protos.h
@@ -278,6 +278,7 @@ extern const char *mips_output_load_labe
extern const char *mips_output_conditional_branch (rtx, rtx *, const char *,
const char *);
@@ -9,9 +12,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips-protos.h gcc-4.3.2/gcc/config/mi
extern const char *mips_output_division (const char *, rtx *);
extern unsigned int mips_hard_regno_nregs (int, enum machine_mode);
extern bool mips_linked_madd_p (rtx, rtx);
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.c gcc-4.3.2/gcc/config/mips/mips.c
---- gcc-4.3.2.orig/gcc/config/mips/mips.c 2008-11-16 01:57:14.000000000 -0500
-+++ gcc-4.3.2/gcc/config/mips/mips.c 2008-11-16 02:09:37.000000000 -0500
+--- gcc-4.3.2/gcc/config/mips/mips.c
++++ gcc-4.3.2/gcc/config/mips/mips.c
@@ -6253,6 +6253,7 @@ mips_print_operand_reloc (FILE *file, rt
'#' Print a nop if in a ".set noreorder" block.
'/' Like '#', but do nothing within a delayed-branch sequence.
@@ -84,9 +86,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.c gcc-4.3.2/gcc/config/mips/mips
/* Save base state of options. */
mips_base_mips16 = TARGET_MIPS16;
mips_base_target_flags = target_flags;
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.h gcc-4.3.2/gcc/config/mips/mips.h
---- gcc-4.3.2.orig/gcc/config/mips/mips.h 2008-11-16 01:57:14.000000000 -0500
-+++ gcc-4.3.2/gcc/config/mips/mips.h 2008-11-16 02:11:20.000000000 -0500
+--- gcc-4.3.2/gcc/config/mips/mips.h
++++ gcc-4.3.2/gcc/config/mips/mips.h
@@ -2911,7 +2911,7 @@ while (0)
"\tbne\t%0,%z2,2f\n" \
"\t" OP "\t%@,%3\n" \
@@ -159,9 +160,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.h gcc-4.3.2/gcc/config/mips/mips
"\tnop\n" \
"\tsync%-%]%>%)"
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.md gcc-4.3.2/gcc/config/mips/mips.md
---- gcc-4.3.2.orig/gcc/config/mips/mips.md 2008-11-16 01:57:14.000000000 -0500
-+++ gcc-4.3.2/gcc/config/mips/mips.md 2008-11-16 02:17:30.000000000 -0500
+--- gcc-4.3.2/gcc/config/mips/mips.md
++++ gcc-4.3.2/gcc/config/mips/mips.md
@@ -4449,9 +4449,9 @@
"GENERATE_LL_SC"
{
@@ -322,9 +322,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.md gcc-4.3.2/gcc/config/mips/mip
}
[(set_attr "length" "24")])
-diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.opt gcc-4.3.2/gcc/config/mips/mips.opt
---- gcc-4.3.2.orig/gcc/config/mips/mips.opt 2008-11-16 01:57:14.000000000 -0500
-+++ gcc-4.3.2/gcc/config/mips/mips.opt 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/config/mips/mips.opt
++++ gcc-4.3.2/gcc/config/mips/mips.opt
@@ -112,6 +112,10 @@ mfix-r4400
Target Report Mask(FIX_R4400)
Work around certain R4400 errata
@@ -336,9 +335,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/config/mips/mips.opt gcc-4.3.2/gcc/config/mips/mi
mfix-sb1
Target Report Var(TARGET_FIX_SB1)
Work around errata for early SB-1 revision 2 cores
-diff -Naurp gcc-4.3.2.orig/gcc/doc/invoke.texi gcc-4.3.2/gcc/doc/invoke.texi
---- gcc-4.3.2.orig/gcc/doc/invoke.texi 2008-11-16 01:57:14.000000000 -0500
-+++ gcc-4.3.2/gcc/doc/invoke.texi 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/doc/invoke.texi
++++ gcc-4.3.2/gcc/doc/invoke.texi
@@ -641,8 +641,8 @@ Objective-C and Objective-C++ Dialects}.
-mmemcpy -mno-memcpy -mlong-calls -mno-long-calls @gol
-mmad -mno-mad -mfused-madd -mno-fused-madd -nocpp @gol
@@ -373,9 +371,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/doc/invoke.texi gcc-4.3.2/gcc/doc/invoke.texi
@item -mfix-vr4120
@itemx -mno-fix-vr4120
@opindex mfix-vr4120
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-1.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-1.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-1.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-1.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-1.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-1.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -398,9 +395,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-1.c gcc-4.3.
+{
+ return __sync_fetch_and_add (z, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-10.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-10.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-10.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-10.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-10.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-10.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -423,9 +419,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-10.c gcc-4.3
+{
+ return __sync_and_and_fetch (z, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-11.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-11.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-11.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-11.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-11.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-11.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -448,9 +443,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-11.c gcc-4.3
+{
+ return __sync_xor_and_fetch (z, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-12.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-12.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-12.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-12.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-12.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-12.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -473,9 +467,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-12.c gcc-4.3
+{
+ return __sync_nand_and_fetch (z, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-13.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-13.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-13.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-13.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-13.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-13.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -498,9 +491,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-13.c gcc-4.3
+{
+ return __sync_bool_compare_and_swap (z, 0, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-14.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-14.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-14.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-14.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-14.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-14.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -523,9 +515,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-14.c gcc-4.3
+{
+ return __sync_val_compare_and_swap (z, 0, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-15.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-15.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-15.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-15.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-15.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-15.c
@@ -0,0 +1,33 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -560,9 +551,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-15.c gcc-4.3
+ __sync_lock_release (z);
+ return result;
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-2.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-2.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-2.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-2.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-2.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-2.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -585,9 +575,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-2.c gcc-4.3.
+{
+ return __sync_fetch_and_sub (z, amt);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-3.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-3.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-3.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-3.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-3.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-3.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -610,9 +599,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-3.c gcc-4.3.
+{
+ return __sync_fetch_and_or (z, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-4.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-4.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-4.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-4.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-4.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-4.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -635,9 +623,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-4.c gcc-4.3.
+{
+ return __sync_fetch_and_and (z, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-5.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-5.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-5.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-5.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-5.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-5.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -660,9 +647,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-5.c gcc-4.3.
+{
+ return __sync_fetch_and_xor (z, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-6.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-6.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-6.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-6.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-6.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-6.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -685,9 +671,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-6.c gcc-4.3.
+{
+ return __sync_fetch_and_nand (z, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-7.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-7.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-7.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-7.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-7.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-7.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -710,9 +695,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-7.c gcc-4.3.
+{
+ return __sync_add_and_fetch (z, 42);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-8.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-8.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-8.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-8.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-8.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-8.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */
@@ -735,9 +719,8 @@ diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-8.c gcc-4.3.
+{
+ return __sync_sub_and_fetch (z, amt);
+}
-diff -Naurp gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-9.c gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-9.c
---- gcc-4.3.2.orig/gcc/testsuite/gcc.target/mips/fix-r10000-9.c 1969-12-31 19:00:00.000000000 -0500
-+++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-9.c 2008-11-16 02:08:09.000000000 -0500
+--- gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-9.c
++++ gcc-4.3.2/gcc/testsuite/gcc.target/mips/fix-r10000-9.c
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-mips-options "-O2 -march=mips4 -mfix-r10000" } */