+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.
(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];
+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
/* { 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)
{