OSDN Git Service

(output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
authordevans <devans@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Oct 1997 23:21:12 +0000 (23:21 +0000)
committerdevans <devans@138bc75d-0d04-0410-961f-82ee72b054a4>
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15985 138bc75d-0d04-0410-961f-82ee72b054a4

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";
        }