From: Lulu Cheng Date: Thu, 8 Aug 2024 02:39:54 +0000 (+0800) Subject: LoongArch: Drop vcond{,u} expanders. X-Git-Tag: basepoints/gcc-16~6675 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0498f8bda1d08b8ed8100d759917792baf2da15f;p=thirdparty%2Fgcc.git LoongArch: Drop vcond{,u} expanders. Optabs vcond{,u} will be removed for GCC 15. Since regtest shows no fallout, dropping the expanders, now. gcc/ChangeLog: PR target/114189 * config/loongarch/lasx.md (vcondu): Delete. (vcond): Likewise. * config/loongarch/lsx.md (vcondu): Likewise. (vcond): Likewise. --- diff --git a/gcc/config/loongarch/lasx.md b/gcc/config/loongarch/lasx.md index ca523880683..d37b2e83c21 100644 --- a/gcc/config/loongarch/lasx.md +++ b/gcc/config/loongarch/lasx.md @@ -165,9 +165,6 @@ ;; All vector modes with 256 bits. (define_mode_iterator LASX [V4DF V8SF V4DI V8SI V16HI V32QI]) -;; Same as LASX. Used by vcond to iterate two modes. -(define_mode_iterator LASX_2 [V4DF V8SF V4DI V8SI V16HI V32QI]) - ;; Only used for splitting insert_d and copy_{u,s}.d. (define_mode_iterator LASX_D [V4DI V4DF]) @@ -762,40 +759,6 @@ DONE; }) -;; FIXME: 256?? -(define_expand "vcondu" - [(match_operand:LASX 0 "register_operand") - (match_operand:LASX 1 "reg_or_m1_operand") - (match_operand:LASX 2 "reg_or_0_operand") - (match_operator 3 "" - [(match_operand:ILASX 4 "register_operand") - (match_operand:ILASX 5 "register_operand")])] - "ISA_HAS_LASX - && (GET_MODE_NUNITS (mode) - == GET_MODE_NUNITS (mode))" -{ - loongarch_expand_vec_cond_expr (mode, mode, - operands); - DONE; -}) - -;; FIXME: 256?? -(define_expand "vcond" - [(match_operand:LASX 0 "register_operand") - (match_operand:LASX 1 "reg_or_m1_operand") - (match_operand:LASX 2 "reg_or_0_operand") - (match_operator 3 "" - [(match_operand:LASX_2 4 "register_operand") - (match_operand:LASX_2 5 "register_operand")])] - "ISA_HAS_LASX - && (GET_MODE_NUNITS (mode) - == GET_MODE_NUNITS (mode))" -{ - loongarch_expand_vec_cond_expr (mode, mode, - operands); - DONE; -}) - ;; Same as vcond_ (define_expand "vcond_mask_" [(match_operand:LASX 0 "register_operand") diff --git a/gcc/config/loongarch/lsx.md b/gcc/config/loongarch/lsx.md index 6bdf4fe43f5..fcba28b0751 100644 --- a/gcc/config/loongarch/lsx.md +++ b/gcc/config/loongarch/lsx.md @@ -186,9 +186,6 @@ ;; All vector modes with 128 bits. (define_mode_iterator LSX [V2DF V4SF V2DI V4SI V8HI V16QI]) -;; Same as LSX. Used by vcond to iterate two modes. -(define_mode_iterator LSX_2 [V2DF V4SF V2DI V4SI V8HI V16QI]) - ;; Only used for vilvh and splitting insert_d and copy_{u,s}.d. (define_mode_iterator LSX_D [V2DI V2DF]) @@ -533,34 +530,6 @@ DONE; }) -(define_expand "vcondu" - [(match_operand:LSX 0 "register_operand") - (match_operand:LSX 1 "reg_or_m1_operand") - (match_operand:LSX 2 "reg_or_0_operand") - (match_operator 3 "" - [(match_operand:ILSX 4 "register_operand") - (match_operand:ILSX 5 "register_operand")])] - "ISA_HAS_LSX - && (GET_MODE_NUNITS (mode) == GET_MODE_NUNITS (mode))" -{ - loongarch_expand_vec_cond_expr (mode, mode, operands); - DONE; -}) - -(define_expand "vcond" - [(match_operand:LSX 0 "register_operand") - (match_operand:LSX 1 "reg_or_m1_operand") - (match_operand:LSX 2 "reg_or_0_operand") - (match_operator 3 "" - [(match_operand:LSX_2 4 "register_operand") - (match_operand:LSX_2 5 "register_operand")])] - "ISA_HAS_LSX - && (GET_MODE_NUNITS (mode) == GET_MODE_NUNITS (mode))" -{ - loongarch_expand_vec_cond_expr (mode, mode, operands); - DONE; -}) - (define_expand "vcond_mask_" [(match_operand:LSX 0 "register_operand") (match_operand:LSX 1 "reg_or_m1_operand")