[(set (match_operand:QI 0 "general_operand" "=dm")
(match_operator 1 "valid_dbcc_comparison_p"
[(match_operand:DI 2 "general_operand" "ro") (const_int 0)]))]
- ""
+ "! TARGET_5200"
+ "*
+{
+ return output_scc_di (operands[1], operands[2], const0_rtx, operands[0]);
+} ")
+
+(define_insn "scc0_di_5200"
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (match_operator 1 "valid_dbcc_comparison_p"
+ [(match_operand:DI 2 "general_operand" "ro") (const_int 0)]))]
+ "TARGET_5200"
"*
{
return output_scc_di (operands[1], operands[2], const0_rtx, operands[0]);
(match_operator 1 "valid_dbcc_comparison_p"
[(match_operand:DI 2 "general_operand" "ro,r")
(match_operand:DI 3 "general_operand" "r,ro")]))]
- ""
+ "! TARGET_5200"
+ "*
+{
+ return output_scc_di (operands[1], operands[2], operands[3], operands[0]);
+} ")
+
+(define_insn "scc_di_5200"
+ [(set (match_operand:QI 0 "general_operand" "=d,d")
+ (match_operator 1 "valid_dbcc_comparison_p"
+ [(match_operand:DI 2 "general_operand" "ro,r")
+ (match_operand:DI 3 "general_operand" "r,ro")]))]
+ "TARGET_5200"
"*
{
return output_scc_di (operands[1], operands[2], operands[3], operands[0]);
(define_insn ""
[(set (match_operand:QI 0 "general_operand" "=dm")
(eq:QI (cc0) (const_int 0)))]
- ""
+ "! TARGET_5200"
+ "*
+ cc_status = cc_prev_status;
+ OUTPUT_JUMP (\"seq %0\", \"fseq %0\", \"seq %0\");
+")
+
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (eq:QI (cc0) (const_int 0)))]
+ "TARGET_5200"
"*
cc_status = cc_prev_status;
OUTPUT_JUMP (\"seq %0\", \"fseq %0\", \"seq %0\");
(define_insn ""
[(set (match_operand:QI 0 "general_operand" "=dm")
(ne:QI (cc0) (const_int 0)))]
- ""
+ "! TARGET_5200"
+ "*
+ cc_status = cc_prev_status;
+ OUTPUT_JUMP (\"sne %0\", \"fsne %0\", \"sne %0\");
+")
+
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (ne:QI (cc0) (const_int 0)))]
+ "TARGET_5200"
"*
cc_status = cc_prev_status;
OUTPUT_JUMP (\"sne %0\", \"fsne %0\", \"sne %0\");
(define_insn ""
[(set (match_operand:QI 0 "general_operand" "=dm")
(gt:QI (cc0) (const_int 0)))]
- ""
+ "! TARGET_5200"
"*
cc_status = cc_prev_status;
OUTPUT_JUMP (\"sgt %0\", \"fsgt %0\", 0);
")
-(define_insn "sgtu"
- [(set (match_operand:QI 0 "general_operand" "=dm")
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (gt:QI (cc0) (const_int 0)))]
+ "TARGET_5200"
+ "*
+ cc_status = cc_prev_status;
+ OUTPUT_JUMP (\"sgt %0\", \"fsgt %0\", 0);
+")
+
+(define_expand "sgtu"
+ [(set (match_operand:QI 0 "general_operand" "")
(gtu:QI (cc0) (const_int 0)))]
""
+ "")
+
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=dm")
+ (gtu:QI (cc0) (const_int 0)))]
+ "! TARGET_5200"
+ "* cc_status = cc_prev_status;
+ return \"shi %0\"; ")
+
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (gtu:QI (cc0) (const_int 0)))]
+ "TARGET_5200"
"* cc_status = cc_prev_status;
return \"shi %0\"; ")
(define_insn ""
[(set (match_operand:QI 0 "general_operand" "=dm")
(lt:QI (cc0) (const_int 0)))]
- ""
+ "! TARGET_5200"
"* cc_status = cc_prev_status;
OUTPUT_JUMP (\"slt %0\", \"fslt %0\", \"smi %0\"); ")
-(define_insn "sltu"
- [(set (match_operand:QI 0 "general_operand" "=dm")
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (lt:QI (cc0) (const_int 0)))]
+ "TARGET_5200"
+ "* cc_status = cc_prev_status;
+ OUTPUT_JUMP (\"slt %0\", \"fslt %0\", \"smi %0\"); ")
+
+(define_expand "sltu"
+ [(set (match_operand:QI 0 "general_operand" "")
(ltu:QI (cc0) (const_int 0)))]
""
+ "")
+
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=dm")
+ (ltu:QI (cc0) (const_int 0)))]
+ "! TARGET_5200"
+ "* cc_status = cc_prev_status;
+ return \"scs %0\"; ")
+
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (ltu:QI (cc0) (const_int 0)))]
+ "TARGET_5200"
"* cc_status = cc_prev_status;
return \"scs %0\"; ")
(define_insn ""
[(set (match_operand:QI 0 "general_operand" "=dm")
(ge:QI (cc0) (const_int 0)))]
- ""
+ "! TARGET_5200"
"* cc_status = cc_prev_status;
OUTPUT_JUMP (\"sge %0\", \"fsge %0\", \"spl %0\"); ")
-(define_insn "sgeu"
- [(set (match_operand:QI 0 "general_operand" "=dm")
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (ge:QI (cc0) (const_int 0)))]
+ "TARGET_5200"
+ "* cc_status = cc_prev_status;
+ OUTPUT_JUMP (\"sge %0\", \"fsge %0\", \"spl %0\"); ")
+
+(define_expand "sgeu"
+ [(set (match_operand:QI 0 "general_operand" "")
(geu:QI (cc0) (const_int 0)))]
""
+ "")
+
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=dm")
+ (geu:QI (cc0) (const_int 0)))]
+ "! TARGET_5200"
+ "* cc_status = cc_prev_status;
+ return \"scc %0\"; ")
+
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (geu:QI (cc0) (const_int 0)))]
+ "TARGET_5200"
"* cc_status = cc_prev_status;
return \"scc %0\"; ")
(define_insn ""
[(set (match_operand:QI 0 "general_operand" "=dm")
(le:QI (cc0) (const_int 0)))]
- ""
+ "! TARGET_5200"
"*
cc_status = cc_prev_status;
OUTPUT_JUMP (\"sle %0\", \"fsle %0\", 0);
")
-(define_insn "sleu"
- [(set (match_operand:QI 0 "general_operand" "=dm")
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (le:QI (cc0) (const_int 0)))]
+ "TARGET_5200"
+ "*
+ cc_status = cc_prev_status;
+ OUTPUT_JUMP (\"sle %0\", \"fsle %0\", 0);
+")
+
+(define_expand "sleu"
+ [(set (match_operand:QI 0 "general_operand" "")
(leu:QI (cc0) (const_int 0)))]
""
+ "")
+
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=dm")
+ (leu:QI (cc0) (const_int 0)))]
+ "! TARGET_5200"
+ "* cc_status = cc_prev_status;
+ return \"sls %0\"; ")
+
+(define_insn ""
+ [(set (match_operand:QI 0 "general_operand" "=d")
+ (leu:QI (cc0) (const_int 0)))]
+ "TARGET_5200"
"* cc_status = cc_prev_status;
return \"sls %0\"; ")
\f