From: Richard Sandiford Date: Mon, 20 Sep 2004 06:54:52 +0000 (+0000) Subject: re PR target/17565 ([3.3 only] asms in delay slots) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=073cbad3bb0ebe7a29e11acc51d08543f5b1dbd7;p=gcc.git re PR target/17565 ([3.3 only] asms in delay slots) PR target/17565 * config/mips/mips.md (define_asm_attributes): Set can_delay to no. From-SVN: r87744 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6f6582d3f1c..45f7fe7a9ed 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-09-20 Richard Sandiford + + PR target/17565 + * config/mips/mips.md (define_asm_attributes): Set can_delay to no. + 2004-09-20 Jan Hubicka * predict.c (estimate_probability): Remove unnecesary code. diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index fb50b3bdab2..b8239edf7b2 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -310,7 +310,8 @@ ;; Describe a user's asm statement. (define_asm_attributes - [(set_attr "type" "multi")]) + [(set_attr "type" "multi") + (set_attr "can_delay" "no")]) ;; This mode macro allows 32-bit and 64-bit GPR patterns to be generated ;; from the same template. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 199ae8e18e7..8548b4733e9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-09-20 Richard Sandiford + + * gcc.target/mips/asm-1.c: New test. + 2004-09-19 Ira Rosen * 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 index 00000000000..1a64e8754fd --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/asm-1.c @@ -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; +}