(output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
authorDoug Evans <devans@gcc.gnu.org>
Fri, 17 Oct 1997 23:21:12 +0000 (23:21 +0000)
committerDoug Evans <devans@gcc.gnu.org>
Fri, 17 Oct 1997 23:21:12 +0000 (23:21 +0000)
fmovd so it works if a quad float ends up in one of the upper 32
float regs.

From-SVN: r15985

gcc/config/sparc/sparc.c

index cc4430c..d85e600 100644 (file)
@@ -2348,6 +2348,8 @@ output_fp_move_quad (operands)
        {
          if (TARGET_V9 && TARGET_HARD_QUAD)
            return "fmovq %1,%0";
+         else if (TARGET_V9)
+           return "fmovd %1,%0\n\tfmovd %S1,%S0";
          else
            return "fmovs %1,%0\n\tfmovs %R1,%R0\n\tfmovs %S1,%S0\n\tfmovs %T1,%T0";
        }