From d1f4474e5eadc1f3d54b5c95824c2d7e1b620af3 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Tue, 11 Nov 1997 00:39:39 +0000 Subject: [PATCH] sparc.md (mov[sdt]f_const_insn): Fix condition to match what the instruction can handle. * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match what the instruction can handle. From-SVN: r16422 --- gcc/ChangeLog | 5 +++++ gcc/config/sparc/sparc.md | 15 ++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 33222307c4f..b0b82d9bdb1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Nov 10 16:21:58 1997 Doug Evans + + * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match + what the instruction can handle. + Mon Nov 10 03:02:19 1997 Jason Merrill * stmt.c (expand_decl_cleanup_no_eh): New fn. diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index b1afbcd003c..8ec12f5197a 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -2157,7 +2157,10 @@ (define_insn "*movsf_const_insn" [(set (match_operand:SF 0 "general_operand" "=?r,f,m") (match_operand:SF 1 "" "?F,m,G"))] - "TARGET_FPU && GET_CODE (operands[1]) == CONST_DOUBLE" + "TARGET_FPU + && GET_CODE (operands[1]) == CONST_DOUBLE + && (GET_CODE (operands[0]) == REG + || fp_zero_operand (operands[1]))" "* { switch (which_alternative) @@ -2231,7 +2234,10 @@ (define_insn "*movdf_const_insn" [(set (match_operand:DF 0 "general_operand" "=?r,e,o") (match_operand:DF 1 "" "?F,m,G"))] - "TARGET_FPU && GET_CODE (operands[1]) == CONST_DOUBLE" + "TARGET_FPU + && GET_CODE (operands[1]) == CONST_DOUBLE + && (GET_CODE (operands[0]) == REG + || fp_zero_operand (operands[1]))" "* { switch (which_alternative) @@ -2349,7 +2355,10 @@ (define_insn "*movtf_const_insn" [(set (match_operand:TF 0 "general_operand" "=?r,e,o") (match_operand:TF 1 "" "?F,m,G"))] - "TARGET_FPU && GET_CODE (operands[1]) == CONST_DOUBLE" + "TARGET_FPU + && GET_CODE (operands[1]) == CONST_DOUBLE + && (GET_CODE (operands[0]) == REG + || fp_zero_operand (operands[1]))" "* { switch (which_alternative) -- 2.30.2