mips.md: Define conditional move patterns for floating point operands and DI mode conditions.

* mips.md: Define conditional move patterns for floating point
	operands and DI mode conditions.

From-SVN: r29800
This commit is contained in:
Mark Mitchell 1999-10-04 09:26:57 +00:00 committed by Mark Mitchell
parent c557501d33
commit b3a798924e
2 changed files with 35 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Mon Oct 4 02:31:20 1999 Mark Mitchell <mark@codesourcery.com>
* mips.md: Define conditional move patterns for floating point
operands and DI mode conditions.
Mon Oct 4 02:12:41 1999 Mark Mitchell <mark@codesourcery.com>
* tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that

View File

@ -10076,6 +10076,21 @@ move\\t%0,%z4\\n\\
[(set_attr "type" "move")
(set_attr "mode" "SF")])
(define_insn ""
[(set (match_operand:SF 0 "register_operand" "=f,f")
(if_then_else:SF
(match_operator 4 "equality_op"
[(match_operand:DI 1 "se_register_operand" "d,d")
(const_int 0)])
(match_operand:SF 2 "register_operand" "f,0")
(match_operand:SF 3 "register_operand" "0,f")))]
"mips_isa >= 4 && TARGET_HARD_FLOAT"
"@
mov%B4.s\\t%0,%2,%1
mov%b4.s\\t%0,%3,%1"
[(set_attr "type" "move")
(set_attr "mode" "SF")])
(define_insn ""
[(set (match_operand:SF 0 "register_operand" "=f,f")
(if_then_else:SF
@ -10107,6 +10122,21 @@ move\\t%0,%z4\\n\\
[(set_attr "type" "move")
(set_attr "mode" "DF")])
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f,f")
(if_then_else:DF
(match_operator 4 "equality_op"
[(match_operand:DI 1 "se_register_operand" "d,d")
(const_int 0)])
(match_operand:DF 2 "register_operand" "f,0")
(match_operand:DF 3 "register_operand" "0,f")))]
"mips_isa >= 4 && TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT"
"@
mov%B4.d\\t%0,%2,%1
mov%b4.d\\t%0,%3,%1"
[(set_attr "type" "move")
(set_attr "mode" "DF")])
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f,f")
(if_then_else:DF