diff mbox series

LoongArch: Remove unused and incorrect "sge<u>_<X:mode><GPR:mode>" define_insn

Message ID 20240313130444.44708-1-xry111@xry111.site
State New
Headers show
Series LoongArch: Remove unused and incorrect "sge<u>_<X:mode><GPR:mode>" define_insn | expand

Commit Message

Xi Ruoyao March 13, 2024, 1:03 p.m. UTC
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.
---

Not fully tested but should be obvious.  Ok for trunk?

 gcc/config/loongarch/loongarch.md | 10 ----------
 1 file changed, 10 deletions(-)

Comments

Lulu Cheng March 14, 2024, 7:58 a.m. UTC | #1
在 2024/3/13 下午9:03, Xi Ruoyao 写道:
> 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.
> ---
>
> Not fully tested but should be obvious.  Ok for trunk?

LGTM!

Thanks!

>
>   gcc/config/loongarch/loongarch.md | 10 ----------
>   1 file changed, 10 deletions(-)
>
> diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md
> index 525e1e82183..18fd9c1e7d5 100644
> --- a/gcc/config/loongarch/loongarch.md
> +++ b/gcc/config/loongarch/loongarch.md
> @@ -517,7 +517,6 @@ (define_code_iterator equality_op [eq ne])
>   ;; 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 @@ (define_insn "*sgt<u>_<X:mode><GPR:mode>"
>     [(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")
diff mbox series

Patch

diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md
index 525e1e82183..18fd9c1e7d5 100644
--- a/gcc/config/loongarch/loongarch.md
+++ b/gcc/config/loongarch/loongarch.md
@@ -517,7 +517,6 @@  (define_code_iterator equality_op [eq ne])
 ;; 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 @@  (define_insn "*sgt<u>_<X:mode><GPR:mode>"
   [(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")