diff options
author | Doug Evans <devans@gcc.gnu.org> | 1997-10-17 23:21:12 +0000 |
---|---|---|
committer | Doug Evans <devans@gcc.gnu.org> | 1997-10-17 23:21:12 +0000 |
commit | bf65b159eca3b3a5b4ff6dd0d923b83223b3e3f2 (patch) | |
tree | 96e2e83a11701a55e83373ddeb3668c54a49cc8c /gcc | |
parent | 9d162eb296c5a4d5c9b647e6780c94a527dea248 (diff) | |
download | gcc-bf65b159eca3b3a5b4ff6dd0d923b83223b3e3f2.zip gcc-bf65b159eca3b3a5b4ff6dd0d923b83223b3e3f2.tar.gz gcc-bf65b159eca3b3a5b4ff6dd0d923b83223b3e3f2.tar.bz2 |
(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.
From-SVN: r15985
Diffstat (limited to 'gcc')
-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 cc4430c..d85e600 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"; } |