diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-07-26 11:57:49 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-07-26 11:57:49 +0000 |
commit | f9e19b3cfd5f9fdcf70a0ba7936bb97d175d032a (patch) | |
tree | 974eefc1ff03baa1d420f68eadad52f3fb602f97 | |
parent | 338ba44bc56b15f27aad40979b8bb9c1f173bf87 (diff) |
gcc/
* config/m68k/m68k.md (movsf_cf_hard): Use fsmove instead of
f%$smove and f%$move.
(movdf_cf_hard): Use fdmove for cases 0 and 3 and fmove for case 1.
(extendsfdf2_cf): Use fdmove instead of f%&move.
(truncdfsf2_cf): Use fsmove instead of f%$smove.
(add<mode>3_cf, sub<mode>3_cf): Use <FP:prec> instead of <FP:round>.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@115753 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | ChangeLog.csl | 10 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.md | 26 |
2 files changed, 23 insertions, 13 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl index 39c2f66876b..a8164968476 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,3 +1,13 @@ +2006-07-26 Richard Sandiford <richard@codesourcery.com> + + gcc/ + * config/m68k/m68k.md (movsf_cf_hard): Use fsmove instead of + f%$smove and f%$move. + (movdf_cf_hard): Use fdmove for cases 0 and 3 and fmove for case 1. + (extendsfdf2_cf): Use fdmove instead of f%&move. + (truncdfsf2_cf): Use fsmove instead of f%$smove. + (add<mode>3_cf, sub<mode>3_cf): Use <FP:prec> instead of <FP:round>. + 2006-07-22 Richard Sandiford <richard@codesourcery.com> Merge from csl/coldfire-4_1 branch: diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 1ecc58090c8..97fafa7cedb 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -913,12 +913,10 @@ if (FP_REG_P (operands[0])) { if (ADDRESS_REG_P (operands[1])) - return "move%.l %1,%-;f%$smove%.s %+,%0"; + return "move%.l %1,%-;fsmove%.s %+,%0"; if (FP_REG_P (operands[1])) - return "f%$move%.d %1,%0"; - if (GET_CODE (operands[1]) == CONST_DOUBLE) - return output_move_const_single (operands); - return "f%$move%.s %f1,%0"; + return "fsmove%.d %1,%0"; + return "fsmove%.s %f1,%0"; } if (FP_REG_P (operands[1])) { @@ -1030,11 +1028,13 @@ switch (which_alternative) { default: + return "fdmove%.d %1,%0"; + case 1: return "fmove%.d %1,%0"; case 2: return "fmove%.d %1,%-;move%.l %+,%0;move%.l %+,%R0"; case 3: - return "move%.l %R1,%-;move%.l %1,%-;f%&move%.d %+,%0"; + return "move%.l %R1,%-;move%.l %1,%-;fdmove%.d %+,%0"; case 4: case 5: case 6: return output_move_double (operands); case 7: @@ -1647,9 +1647,9 @@ cc_status = cc_prev_status; return ""; } - return "f%&move%.d %1,%0"; + return "fdmove%.d %1,%0"; } - return "f%&move%.s %f1,%0"; + return "fdmove%.s %f1,%0"; }) ;; This cannot output into an f-reg because there is no way to be @@ -1679,7 +1679,7 @@ (match_operand:DF 1 "general_operand" "m,f")))] "TARGET_COLDFIRE_FPU" "@ - f%$move%.d %1,%0 + fsmove%.d %1,%0 fmove%.s %1,%0") (define_insn "" @@ -2374,8 +2374,8 @@ "TARGET_COLDFIRE_FPU" { if (FP_REG_P (operands[2])) - return "f<FP:round>add%.d %2,%0"; - return "f<FP:round>add%.<FP:prec> %2,%0"; + return "f<FP:prec>add%.d %2,%0"; + return "f<FP:prec>add%.<FP:prec> %2,%0"; }) ;; subtract instructions @@ -2583,8 +2583,8 @@ "TARGET_COLDFIRE_FPU" { if (FP_REG_P (operands[2])) - return "f<FP:round>sub%.d %2,%0"; - return "f<FP:round>sub%.<FP:prec> %2,%0"; + return "f<FP:prec>sub%.d %2,%0"; + return "f<FP:prec>sub%.<FP:prec> %2,%0"; }) ;; multiply instructions |