[(set (match_operand:SF 0 "register_operand" "=&f")
(plus:SF (match_operand:SF 1 "reg_or_fp0_operand" "%fG")
(match_operand:SF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"adds%)%& %R1,%R2,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
[(set (match_operand:DF 0 "register_operand" "=&f")
(plus:DF (match_operand:DF 1 "reg_or_fp0_operand" "%fG")
(match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"addt%)%& %R1,%R2,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(set_attr "trap" "yes")])
(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (plus:DF (float_extend:DF
- (match_operand:SF 1 "reg_or_fp0_operand" "fG"))
- (match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
- "addt%)%& %R1,%R2,%0"
- [(set_attr "type" "fadd")
- (set_attr "trap" "yes")])
-
-(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f")
(plus:DF (float_extend:DF
(match_operand:SF 1 "reg_or_fp0_operand" "fG"))
(match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP"
- "addt%)%& %R1,%R2,%0"
- [(set_attr "type" "fadd")
- (set_attr "trap" "yes")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (plus:DF (float_extend:DF
- (match_operand:SF 1 "reg_or_fp0_operand" "%fG"))
- (float_extend:DF
- (match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"addt%)%& %R1,%R2,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(match_operand:SF 1 "reg_or_fp0_operand" "%fG"))
(float_extend:DF
(match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"addt%)%& %R1,%R2,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
"cvttqc %R1,%0"
[(set_attr "type" "fadd")])
-(define_insn ""
- [(set (match_operand:SF 0 "register_operand" "=&f")
- (float:SF (match_operand:DI 1 "register_operand" "f")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
- "cvtqs%+%& %1,%0"
- [(set_attr "type" "fadd")
- (set_attr "trap" "yes")])
-
(define_insn "floatdisf2"
[(set (match_operand:SF 0 "register_operand" "=f")
(float:SF (match_operand:DI 1 "register_operand" "f")))]
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=&f")
(float:DF (match_operand:DI 1 "register_operand" "f")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"cvtqt%+%& %1,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f,f")
- (float_extend:DF (match_operand:SF 1 "nonimmediate_operand" "f,m")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
- "@
- addt%)%& $f31,%1,%0
- lds %0,%1"
- [(set_attr "type" "fadd,ld")
+(define_expand "extendsfdf2"
+ [(use (match_operand:DF 0 "register_operand" ""))
+ (use (match_operand:SF 1 "nonimmediate_operand" ""))]
+ "TARGET_FP"
+"
+{
+ if (alpha_tp == ALPHA_TP_INSN)
+ emit_insn (gen_extendsfdf2_tp (operands[0],
+ force_reg (SFmode, operands[1])));
+ else
+ emit_insn (gen_extendsfdf2_no_tp (operands[0], operands[1]));
+
+ DONE;
+}")
+
+(define_insn "extendsfdf2_tp"
+ [(set (match_operand:DF 0 "register_operand" "=&f")
+ (float_extend:DF (match_operand:SF 1 "register_operand" "f")))]
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
+ "cvtsts %1,%0"
+ [(set_attr "type" "fadd")
(set_attr "trap" "yes")])
-(define_insn "extendsfdf2"
+(define_insn "extendsfdf2_no_tp"
[(set (match_operand:DF 0 "register_operand" "=f,f")
(float_extend:DF (match_operand:SF 1 "nonimmediate_operand" "f,m")))]
- "TARGET_FP"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"@
addt%)%& $f31,%1,%0
lds %0,%1"
(define_insn ""
[(set (match_operand:SF 0 "register_operand" "=&f")
(float_truncate:SF (match_operand:DF 1 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"cvtts%)%& %R1,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
[(set (match_operand:SF 0 "register_operand" "=&f")
(div:SF (match_operand:SF 1 "reg_or_fp0_operand" "fG")
(match_operand:SF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"divs%)%& %R1,%R2,%0"
[(set_attr "type" "fdivs")
(set_attr "trap" "yes")])
[(set (match_operand:DF 0 "register_operand" "=&f")
(div:DF (match_operand:DF 1 "reg_or_fp0_operand" "fG")
(match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"divt%)%& %R1,%R2,%0"
[(set_attr "type" "fdivt")
(set_attr "trap" "yes")])
(set_attr "trap" "yes")])
(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (div:DF (float_extend:DF (match_operand:SF 1 "reg_or_fp0_operand" "fG"))
- (match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
- "divt%)%& %R1,%R2,%0"
- [(set_attr "type" "fdivt")
- (set_attr "trap" "yes")])
-
-(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f")
(div:DF (float_extend:DF (match_operand:SF 1 "reg_or_fp0_operand" "fG"))
(match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP"
- "divt%)%& %R1,%R2,%0"
- [(set_attr "type" "fdivt")
- (set_attr "trap" "yes")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (div:DF (match_operand:DF 1 "reg_or_fp0_operand" "fG")
- (float_extend:DF
- (match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"divt%)%& %R1,%R2,%0"
[(set_attr "type" "fdivt")
(set_attr "trap" "yes")])
(div:DF (match_operand:DF 1 "reg_or_fp0_operand" "fG")
(float_extend:DF
(match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP"
- "divt%)%& %R1,%R2,%0"
- [(set_attr "type" "fdivt")
- (set_attr "trap" "yes")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (div:DF (float_extend:DF (match_operand:SF 1 "reg_or_fp0_operand" "fG"))
- (float_extend:DF (match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"divt%)%& %R1,%R2,%0"
[(set_attr "type" "fdivt")
(set_attr "trap" "yes")])
[(set (match_operand:DF 0 "register_operand" "=f")
(div:DF (float_extend:DF (match_operand:SF 1 "reg_or_fp0_operand" "fG"))
(float_extend:DF (match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"divt%)%& %R1,%R2,%0"
[(set_attr "type" "fdivt")
(set_attr "trap" "yes")])
[(set (match_operand:SF 0 "register_operand" "=&f")
(mult:SF (match_operand:SF 1 "reg_or_fp0_operand" "%fG")
(match_operand:SF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"muls%)%& %R1,%R2,%0"
[(set_attr "type" "fmul")
(set_attr "trap" "yes")])
[(set (match_operand:DF 0 "register_operand" "=&f")
(mult:DF (match_operand:DF 1 "reg_or_fp0_operand" "%fG")
(match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"mult%)%& %R1,%R2,%0"
[(set_attr "type" "fmul")
(set_attr "trap" "yes")])
(set_attr "trap" "yes")])
(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (mult:DF (float_extend:DF
- (match_operand:SF 1 "reg_or_fp0_operand" "fG"))
- (match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
- "mult%)%& %R1,%R2,%0"
- [(set_attr "type" "fmul")
- (set_attr "trap" "yes")])
-
-(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f")
(mult:DF (float_extend:DF
(match_operand:SF 1 "reg_or_fp0_operand" "fG"))
(match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP"
- "mult%)%& %R1,%R2,%0"
- [(set_attr "type" "fmul")
- (set_attr "trap" "yes")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (mult:DF (float_extend:DF
- (match_operand:SF 1 "reg_or_fp0_operand" "%fG"))
- (float_extend:DF
- (match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"mult%)%& %R1,%R2,%0"
[(set_attr "type" "fmul")
(set_attr "trap" "yes")])
(match_operand:SF 1 "reg_or_fp0_operand" "%fG"))
(float_extend:DF
(match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"mult%)%& %R1,%R2,%0"
[(set_attr "type" "fmul")
(set_attr "trap" "yes")])
[(set (match_operand:SF 0 "register_operand" "=&f")
(minus:SF (match_operand:SF 1 "reg_or_fp0_operand" "fG")
(match_operand:SF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"subs%)%& %R1,%R2,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
[(set (match_operand:DF 0 "register_operand" "=&f")
(minus:DF (match_operand:DF 1 "reg_or_fp0_operand" "fG")
(match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"subt%)%& %R1,%R2,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(set_attr "trap" "yes")])
(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (minus:DF (float_extend:DF
- (match_operand:SF 1 "reg_or_fp0_operand" "fG"))
- (match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
- "subt%)%& %R1,%R2,%0"
- [(set_attr "type" "fadd")
- (set_attr "trap" "yes")])
-
-(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f")
(minus:DF (float_extend:DF
(match_operand:SF 1 "reg_or_fp0_operand" "fG"))
(match_operand:DF 2 "reg_or_fp0_operand" "fG")))]
- "TARGET_FP"
- "subt%)%& %R1,%R2,%0"
- [(set_attr "type" "fadd")
- (set_attr "trap" "yes")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (minus:DF (match_operand:DF 1 "reg_or_fp0_operand" "fG")
- (float_extend:DF
- (match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"subt%)%& %R1,%R2,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(minus:DF (match_operand:DF 1 "reg_or_fp0_operand" "fG")
(float_extend:DF
(match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP"
- "subt%)%& %R1,%R2,%0"
- [(set_attr "type" "fadd")
- (set_attr "trap" "yes")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (minus:DF (float_extend:DF
- (match_operand:SF 1 "reg_or_fp0_operand" "fG"))
- (float_extend:DF
- (match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"subt%)%& %R1,%R2,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(match_operand:SF 1 "reg_or_fp0_operand" "fG"))
(float_extend:DF
(match_operand:SF 2 "reg_or_fp0_operand" "fG"))))]
- "TARGET_FP"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"subt%)%& %R1,%R2,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(match_operator:DF 1 "alpha_comparison_operator"
[(match_operand:DF 2 "reg_or_fp0_operand" "fG")
(match_operand:DF 3 "reg_or_fp0_operand" "fG")]))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"cmpt%C1%' %R2,%R3,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(match_operator:DF 1 "alpha_comparison_operator"
[(match_operand:DF 2 "reg_or_fp0_operand" "fG")
(match_operand:DF 3 "reg_or_fp0_operand" "fG")]))]
- "TARGET_FP"
- "cmpt%C1%' %R2,%R3,%0"
- [(set_attr "type" "fadd")
- (set_attr "trap" "yes")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (match_operator:DF 1 "alpha_comparison_operator"
- [(float_extend:DF
- (match_operand:SF 2 "reg_or_fp0_operand" "fG"))
- (match_operand:DF 3 "reg_or_fp0_operand" "fG")]))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"cmpt%C1%' %R2,%R3,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
[(float_extend:DF
(match_operand:SF 2 "reg_or_fp0_operand" "fG"))
(match_operand:DF 3 "reg_or_fp0_operand" "fG")]))]
- "TARGET_FP"
- "cmpt%C1%' %R2,%R3,%0"
- [(set_attr "type" "fadd")
- (set_attr "trap" "yes")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (match_operator:DF 1 "alpha_comparison_operator"
- [(match_operand:DF 2 "reg_or_fp0_operand" "fG")
- (float_extend:DF
- (match_operand:SF 3 "reg_or_fp0_operand" "fG"))]))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"cmpt%C1%' %R2,%R3,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
[(match_operand:DF 2 "reg_or_fp0_operand" "fG")
(float_extend:DF
(match_operand:SF 3 "reg_or_fp0_operand" "fG"))]))]
- "TARGET_FP"
- "cmpt%C1%' %R2,%R3,%0"
- [(set_attr "type" "fadd")
- (set_attr "trap" "yes")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f")
- (match_operator:DF 1 "alpha_comparison_operator"
- [(float_extend:DF
- (match_operand:SF 2 "reg_or_fp0_operand" "fG"))
- (float_extend:DF
- (match_operand:SF 3 "reg_or_fp0_operand" "fG"))]))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"cmpt%C1%' %R2,%R3,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(match_operand:SF 2 "reg_or_fp0_operand" "fG"))
(float_extend:DF
(match_operand:SF 3 "reg_or_fp0_operand" "fG"))]))]
- "TARGET_FP"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"cmpt%C1%' %R2,%R3,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:DF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:DF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:SF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:SF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:SF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:SF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP"
- "@
- fcmov%C3 %R4,%R1,%0
- fcmov%D3 %R4,%R5,%0"
- [(set_attr "type" "fadd")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f,f")
- (if_then_else:DF
- (match_operator 3 "signed_comparison_operator"
- [(match_operand:DF 1 "reg_or_fp0_operand" "fG,fG")
- (match_operand:DF 2 "fp0_operand" "G,G")])
- (float_extend:DF (match_operand:SF 4 "reg_or_fp0_operand" "fG,0"))
- (match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
- "@
- fcmov%C3 %R4,%R1,%0
- fcmov%D3 %R4,%R5,%0"
- [(set_attr "type" "fadd")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f,f")
- (if_then_else:DF
- (match_operator 3 "signed_comparison_operator"
- [(float_extend:DF
- (match_operand:SF 4 "reg_or_fp0_operand" "fG,fG"))
- (match_operand:DF 2 "fp0_operand" "G,G")])
- (match_operand:DF 1 "reg_or_fp0_operand" "fG,0")
- (match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
(match_operand:DF 2 "fp0_operand" "G,G")])
(float_extend:DF (match_operand:SF 4 "reg_or_fp0_operand" "fG,0"))
(match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:DF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP"
- "@
- fcmov%C3 %R4,%R1,%0
- fcmov%D3 %R4,%R5,%0"
- [(set_attr "type" "fadd")])
-
-(define_insn ""
- [(set (match_operand:SF 0 "register_operand" "=&f,f")
- (if_then_else:SF
- (match_operator 3 "signed_comparison_operator"
- [(float_extend:DF
- (match_operand:SF 4 "reg_or_fp0_operand" "fG,fG"))
- (match_operand:DF 2 "fp0_operand" "G,G")])
- (match_operand:SF 1 "reg_or_fp0_operand" "fG,0")
- (match_operand:SF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:SF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:SF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP"
- "@
- fcmov%C3 %R4,%R1,%0
- fcmov%D3 %R4,%R5,%0"
- [(set_attr "type" "fadd")])
-
-(define_insn ""
- [(set (match_operand:DF 0 "register_operand" "=&f,f")
- (if_then_else:DF
- (match_operator 3 "signed_comparison_operator"
- [(float_extend:DF
- (match_operand:SF 4 "reg_or_fp0_operand" "fG,fG"))
- (match_operand:DF 2 "fp0_operand" "G,G")])
- (float_extend:DF (match_operand:SF 1 "reg_or_fp0_operand" "fG,0"))
- (match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP && (alpha_tp == ALPHA_TP_INSN)"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
(match_operand:DF 2 "fp0_operand" "G,G")])
(float_extend:DF (match_operand:SF 1 "reg_or_fp0_operand" "fG,0"))
(match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
- "TARGET_FP"
+ "TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"