Remove our RISC-V-specific `order_operator' predicate, which is exactly the same as generic `ordered_comparison_operator' one.
gcc/ * config/riscv/predicates.md (order_operator): Remove predicate. * config/riscv/riscv.cc (riscv_rtx_costs): Update accordingly. * config/riscv/riscv.md (*branch<mode>, *mov<GPR:mode><X:mode>cc) (cstore<mode>4): Likewise. --- Hi, Verified with the `riscv64-linux-gnu' target and the C language testsuite. OK to apply? Maciej --- gcc/config/riscv/predicates.md | 3 --- gcc/config/riscv/riscv.cc | 2 +- gcc/config/riscv/riscv.md | 6 +++--- 3 files changed, 4 insertions(+), 7 deletions(-) gcc-riscv-ordered-comparison-operator.diff Index: gcc/gcc/config/riscv/predicates.md =================================================================== --- gcc.orig/gcc/config/riscv/predicates.md +++ gcc/gcc/config/riscv/predicates.md @@ -339,9 +339,6 @@ (define_predicate "equality_operator" (match_code "eq,ne")) -(define_predicate "order_operator" - (match_code "eq,ne,lt,ltu,le,leu,ge,geu,gt,gtu")) - (define_predicate "signed_order_operator" (match_code "eq,ne,lt,le,ge,gt")) Index: gcc/gcc/config/riscv/riscv.cc =================================================================== --- gcc.orig/gcc/config/riscv/riscv.cc +++ gcc/gcc/config/riscv/riscv.cc @@ -2914,7 +2914,7 @@ riscv_rtx_costs (rtx x, machine_mode mod *total = COSTS_N_INSNS (SINGLE_SHIFT_COST + 1); return true; } - if (order_operator (XEXP (x, 0), mode)) + if (ordered_comparison_operator (XEXP (x, 0), mode)) { *total = COSTS_N_INSNS (1); return true; Index: gcc/gcc/config/riscv/riscv.md =================================================================== --- gcc.orig/gcc/config/riscv/riscv.md +++ gcc/gcc/config/riscv/riscv.md @@ -2640,7 +2640,7 @@ (define_insn "*branch<mode>" [(set (pc) (if_then_else - (match_operator 1 "order_operator" + (match_operator 1 "ordered_comparison_operator" [(match_operand:X 2 "register_operand" "r") (match_operand:X 3 "reg_or_0_operand" "rJ")]) (label_ref (match_operand 0 "" "")) @@ -2716,7 +2716,7 @@ (define_insn "*mov<GPR:mode><X:mode>cc" [(set (match_operand:GPR 0 "register_operand" "=r,r") (if_then_else:GPR - (match_operator 5 "order_operator" + (match_operator 5 "ordered_comparison_operator" [(match_operand:X 1 "register_operand" "r,r") (match_operand:X 2 "reg_or_0_operand" "rJ,rJ")]) (match_operand:GPR 3 "register_operand" "0,0") @@ -2902,7 +2902,7 @@ (define_expand "cstore<mode>4" [(set (match_operand:SI 0 "register_operand") - (match_operator:SI 1 "order_operator" + (match_operator:SI 1 "ordered_comparison_operator" [(match_operand:GPR 2 "register_operand") (match_operand:GPR 3 "nonmemory_operand")]))] ""