diff options
author | Xi Ruoyao <xry111@xry111.site> | 2024-03-13 20:44:38 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@xry111.site> | 2024-03-14 23:22:05 +0800 |
commit | f98b85b1ef74b7c5c0852b3d063262bce63df14e (patch) | |
tree | eaf6ab52cc79ed10606a23281732a1db54b62d84 | |
parent | 0adc8c5f146b108f99c4df09e43276e3a2419262 (diff) | |
download | gcc-f98b85b1ef74b7c5c0852b3d063262bce63df14e.zip gcc-f98b85b1ef74b7c5c0852b3d063262bce63df14e.tar.gz gcc-f98b85b1ef74b7c5c0852b3d063262bce63df14e.tar.bz2 |
LoongArch: Remove unused and incorrect "sge<u>_<X:mode><GPR:mode>" define_insn
If this insn is really used, we'll have something like
slti $r4,$r0,$r5
in the code. The assembler will reject it because slti wants 2
register operands and 1 immediate operand. But we've not got any bug
report for this, indicating this define_insn is unused at all.
Note that do_store_flag (in expr.cc) is already converting x >= 1 to
x > 0 unconditionally, so this define_insn is indeed unused and we can
just remove it.
gcc/ChangeLog:
* config/loongarch/loongarch.md (any_ge): Remove.
(sge<u>_<X:mode><GPR:mode>): Remove.
-rw-r--r-- | gcc/config/loongarch/loongarch.md | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md index 525e1e8..18fd9c1 100644 --- a/gcc/config/loongarch/loongarch.md +++ b/gcc/config/loongarch/loongarch.md @@ -517,7 +517,6 @@ ;; These code iterators allow the signed and unsigned scc operations to use ;; the same template. (define_code_iterator any_gt [gt gtu]) -(define_code_iterator any_ge [ge geu]) (define_code_iterator any_lt [lt ltu]) (define_code_iterator any_le [le leu]) @@ -3355,15 +3354,6 @@ [(set_attr "type" "slt") (set_attr "mode" "<X:MODE>")]) -(define_insn "*sge<u>_<X:mode><GPR:mode>" - [(set (match_operand:GPR 0 "register_operand" "=r") - (any_ge:GPR (match_operand:X 1 "register_operand" "r") - (const_int 1)))] - "" - "slt<u>i\t%0,%.,%1" - [(set_attr "type" "slt") - (set_attr "mode" "<X:MODE>")]) - (define_insn "*slt<u>_<X:mode><GPR:mode>" [(set (match_operand:GPR 0 "register_operand" "=r") (any_lt:GPR (match_operand:X 1 "register_operand" "r") |