/* { dg-do compile { target powerpc-*-* rs6000-*-* }  } */
/* { dg-options "-O3 -mcpu=power2 -fno-schedule-insns -w -mhard-float" } */
/* This used to ICE as the peephole was not checking to see
   if the register is a floating point one (I think this cannot
   happen in real life except in this example).  */

register volatile double t1 __asm__("r14");
register volatile double t2 __asm__("r15");
register volatile double t3 __asm__("r16"), t4 __asm__("r17");
void t(double *a, double *b)
{
        t1 = a[-1];
        t2 = a[0];
        t3 = a[1];
        t4 = a[2];
        b[-1] = t1;
        b[0] = t2;
        b[1] = t3;
        b[2] = t4;
}

