aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2003-03-28 10:10:43 +0100
committerEric Botcazou <ebotcazou@gcc.gnu.org>2003-03-28 09:10:43 +0000
commit0c85dbfd1251f34624e17cae810de6ddd4257cc4 (patch)
treea9235c2432256d2a905e03464888b615e8a54fa0
parentc54390c5a14d2c67e803a644bbf28ea6e5ab5af5 (diff)
downloadgcc-0c85dbfd1251f34624e17cae810de6ddd4257cc4.zip
gcc-0c85dbfd1251f34624e17cae810de6ddd4257cc4.tar.gz
gcc-0c85dbfd1251f34624e17cae810de6ddd4257cc4.tar.bz2
re PR target/10067 (GCC-3.2.2 outputs invalid asm on sparc64)
PR target/10067 * config/sparc/sparc.md (jump pattern): Correct order when issuing the annuling marker. From-SVN: r64964
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sparc/sparc.md2
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/ultrasp8.c39
4 files changed, 50 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8ebdc40..581d758 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+ PR target/10067
+ * config/sparc/sparc.md (jump pattern): Correct order
+ when issuing the annuling marker.
+
+2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+
PR c/8281
* config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
(movdi reg/reg split): Match only on sparc32, and v9 when int regs.
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index aa3ebdb..bc8c634 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -7252,7 +7252,7 @@
== INSN_ADDRESSES (INSN_UID (insn))))
return "b\t%l0%#";
else
- return TARGET_V9 ? "ba,pt%*\t%%xcc, %l0%(" : "b%*\t%l0%(";
+ return TARGET_V9 ? "ba%*,pt\t%%xcc, %l0%(" : "b%*\t%l0%(";
}
[(set_attr "type" "uncond_branch")])
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e34b6e1..5818881 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,9 @@
2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+ * gcc.dg/ultrasp8.c: New test.
+
+2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
+
* gcc.dg/ultrasp7.c: New test.
2003-03-28 Nathan Sidwell <nathan@codesourcery.com>
diff --git a/gcc/testsuite/gcc.dg/ultrasp8.c b/gcc/testsuite/gcc.dg/ultrasp8.c
new file mode 100644
index 0000000..9b0c8d9
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ultrasp8.c
@@ -0,0 +1,39 @@
+/* PR target/10067 */
+/* Originator: <dat94ali@ludat.lth.se> */
+/* { dg-do compile { target sparc-*-* } } */
+/* { dg-options "-O2 -m64 -mtune=supersparc" } */
+
+struct _reent;
+
+extern unsigned long __malloc_trim_threshold;
+extern unsigned long __malloc_top_pad;
+
+int _mallopt_r(struct _reent *reent_ptr, int param_number, int value)
+{
+ __malloc_lock(reent_ptr);
+
+ switch(param_number)
+ {
+ case -1:
+ __malloc_trim_threshold = value;
+ __malloc_unlock(reent_ptr);
+ return 1;
+
+ case -2:
+ __malloc_top_pad = value;
+ __malloc_unlock(reent_ptr);
+ return 1;
+
+ case -3:
+ __malloc_unlock(reent_ptr);
+ return 1;
+
+ case -4:
+ __malloc_unlock(reent_ptr);
+ return value == 0;
+
+ default:
+ __malloc_unlock(reent_ptr);
+ return 0;
+ }
+}