]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/18402 (ICE in gen_split_1204 on i686-pc-linux-gnu target)
authorRoger Sayle <roger@eyesopen.com>
Sun, 23 Jan 2005 05:16:14 +0000 (05:16 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sun, 23 Jan 2005 05:16:14 +0000 (05:16 +0000)
PR target/18402
Backport from mainline
2003-02-05  Jakub Jelinek  <jakub@redhat.com>

  PR optimization/8555
  * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
  instead of aborting.

* gcc.dg/20030204-1.c: New test.

From-SVN: r94103

gcc/ChangeLog
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/20030204-1.c

index c40cbb29ca725e96bfe4b514b9e60fb8dd6c4e48..4f481e683adca7a85fb8d928df944d2d4c8870a8 100644 (file)
@@ -1,3 +1,13 @@
+2005-01-22  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/18402
+       Backport from mainline
+       2003-02-05  Jakub Jelinek  <jakub@redhat.com>
+       PR optimization/8555
+       * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
+       instead of aborting.
+
 2005-01-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
 
        * gccbug.in: Update optimization -> tree-optimization/rtl-optimization.
index e5cb582cab40c275f974d91fe4108c68b16e5746..5032826045023d2ad1428814635c1aa9cb6e4779 100644 (file)
    (set (subreg:TI (match_dup 0) 0) (ior:TI (subreg:TI (match_dup 6) 0)
                                            (subreg:TI (match_dup 7) 0)))]
 {
-  /* If op2 == op3, op3 will be clobbered before it is used.
-     This should be optimized out though.  */
+  /* If op2 == op3, op3 would be clobbered before it is used.  */
   if (operands_match_p (operands[2], operands[3]))
-    abort ();
+    {
+      emit_move_insn (operands[0], operands[2]);
+      DONE;
+    }
   PUT_MODE (operands[1], GET_MODE (operands[0]));
   if (operands_match_p (operands[0], operands[4]))
     operands[6] = operands[4], operands[7] = operands[2];
index e967c1de643b4944ca514048ce24070598e5ceb8..ee7b6ed3031fafaa0ab45e3b17b17eeb2313da61 100644 (file)
@@ -1,3 +1,12 @@
+2005-01-22  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/18402
+       Backport from mainline
+       2003-02-05  Jakub Jelinek  <jakub@redhat.com>
+       PR optimization/8555
+       * gcc.dg/20030204-1.c: New test.
+
 2005-01-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
 
        PR c++/17115
index 33a9eb229f9cc2ace4be3bb26a00e48b35e05635..e236e3a3a39c0c9bbcfe9580516cd758e4fa72d8 100644 (file)
@@ -2,7 +2,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O -ffast-math -funroll-loops" } */
 /* { dg-options "-march=pentium3 -O -ffast-math -funroll-loops" { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
 
 float foo (float *a, int i)
 {