* config/mips/mips.md: Disable the movstrsi define_split.

From-SVN: r60911
This commit is contained in:
Richard Sandiford 2003-01-05 12:02:24 +00:00 committed by Richard Sandiford
parent 5c2465500a
commit 1ba8a9c4ec
4 changed files with 35 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2003-01-05 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.md: Disable the movstrsi define_split.
2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* alloc-pool.c: Don't include "libiberty.h".

View File

@ -6550,6 +6550,12 @@ move\\t%0,%z4\\n\\
;; fill a delay slot. This also prevents a bug in delayed branches
;; from showing up, which reuses one of the registers in our clobbers.
;; ??? Disabled because it doesn't preserve alias information for
;; operands 0 and 1. Also, the rtl for the second insn doesn't mention
;; that it uses the registers clobbered by the first.
;;
;; It would probably be better to split the block into individual
;; instructions instead.
(define_split
[(set (mem:BLK (match_operand:SI 0 "register_operand" ""))
(mem:BLK (match_operand:SI 1 "register_operand" "")))
@ -6561,7 +6567,7 @@ move\\t%0,%z4\\n\\
(use (match_operand:SI 3 "small_int" ""))
(use (const_int 0))]
"reload_completed && !TARGET_DEBUG_D_MODE && INTVAL (operands[2]) > 0"
"reload_completed && 0 && INTVAL (operands[2]) > 0"
;; All but the last move
[(parallel [(set (mem:BLK (match_dup 0))

View File

@ -1,3 +1,7 @@
2003-01-05 Richard Sandiford <rsandifo@redhat.com>
* gcc.c-torture/execute/20030105-1.c: New test.
2003-01-04 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
* g++.dg/parse/namespace3.C: Remove extra semicolons.

View File

@ -0,0 +1,20 @@
int __attribute__ ((noinline))
foo ()
{
const int a[8] = { 0, 1, 2, 3, 4, 5, 6, 7 };
int i, sum;
sum = 0;
for (i = 0; i < sizeof (a) / sizeof (*a); i++)
sum += a[i];
return sum;
}
int
main ()
{
if (foo () != 28)
abort ();
exit (0);
}