OSDN Git Service

PR target/17565
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Sep 2004 06:54:52 +0000 (06:54 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 20 Sep 2004 06:54:52 +0000 (06:54 +0000)
* config/mips/mips.md (define_asm_attributes): Set can_delay to no.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87744 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/mips/mips.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/asm-1.c [new file with mode: 0644]

index 6f6582d..45f7fe7 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-20  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR target/17565
+       * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
+
 2004-09-20  Jan Hubicka  <jh@suse.cz>
 
        * predict.c (estimate_probability): Remove unnecesary code.
index fb50b3b..b8239ed 100644 (file)
 
 ;; Describe a user's asm statement.
 (define_asm_attributes
-  [(set_attr "type" "multi")])
+  [(set_attr "type" "multi")
+   (set_attr "can_delay" "no")])
 \f
 ;; This mode macro allows 32-bit and 64-bit GPR patterns to be generated
 ;; from the same template.
index 199ae8e..8548b47 100644 (file)
@@ -1,3 +1,7 @@
+2004-09-20  Richard Sandiford  <rsandifo@redhat.com>
+
+       * gcc.target/mips/asm-1.c: New test.
+
 2004-09-19  Ira Rosen  <irar@il.ibm.com>
 
        * gcc.dg/vect/vect-13.c: Now vectorized on ppc*.
diff --git a/gcc/testsuite/gcc.target/mips/asm-1.c b/gcc/testsuite/gcc.target/mips/asm-1.c
new file mode 100644 (file)
index 0000000..1a64e87
--- /dev/null
@@ -0,0 +1,14 @@
+/* PR target/17565.  GCC used to put the asm into the delay slot
+   of the call.  */
+/* { dg-do assemble } */
+/* { dg-options "-O" } */
+int foo (int n)
+{
+  register int k asm ("$16") = n;
+  if (k > 0)
+    {
+      bar ();
+      asm ("li %0,0x12345678" : "=r" (k));
+    }
+  return k;
+}