diff options
author | devans <devans@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-10-17 23:21:12 +0000 |
---|---|---|
committer | devans <devans@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-10-17 23:21:12 +0000 |
commit | c87054e019353f32731afa8a17d029c8e87ade5e (patch) | |
tree | 96e2e83a11701a55e83373ddeb3668c54a49cc8c | |
parent | cd4e6eaa5f17e82ef52b66b868b1f0f4b33c99f0 (diff) | |
download | gcc-c87054e019353f32731afa8a17d029c8e87ade5e.tar.gz |
(output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
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
-rw-r--r-- | gcc/config/sparc/sparc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index cc4430c980a..d85e600f51d 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -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"; } |