From patchwork Fri Mar 15 01:30:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chenghui Pan X-Patchwork-Id: 1912316 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Twmt81gkCz1yX0 for ; Fri, 15 Mar 2024 12:31:12 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1A8183857836 for ; Fri, 15 Mar 2024 01:31:10 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 8536E3858D28 for ; Fri, 15 Mar 2024 01:30:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8536E3858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8536E3858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710466243; cv=none; b=Kl+qDvS9B/El8gkWryr4X8uC0pC0JbNf7QMUger20THJv9uPnWt/A2UPmxFSwyMGhxWi11uBxzST4T8HX00YvilbMz36x5hA/K3jN3wZPbUkD/A5Jr1Prtzi9dBn2REEzNcGtut0bVdmhmO+L+4ivz4D4/r4M6bCvyXCLeS+aE8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710466243; c=relaxed/simple; bh=iAm2Bk6qhFBdugn4kpVlETgQ8SPE0/m/CXh6eSG6SpY=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=JStVj6rLkLfef5WXqGQQdy7QSa0LGf09APhiVEgiz4vtyl9YWMWsfSExsPlmqH+1Y8VfjN6lHpgTxUxS0LPeN+OhslfoTU684TCXe/7eGp8JT1Yd4mDohcbOULZyUYsf8wNlSxGMMYdfzifvkCj/5GvfnZSwN3yx0USuzi5Cvz4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from loongson.cn (unknown [10.2.6.5]) by gateway (Coremail) with SMTP id _____8Dx_7u8pPNlP1AZAA--.41686S3; Fri, 15 Mar 2024 09:30:36 +0800 (CST) Received: from 5.5.5 (unknown [10.2.6.5]) by localhost.localdomain (Coremail) with SMTP id AQAAf8DxdMy1pPNlIpxaAA--.57932S5; Fri, 15 Mar 2024 09:30:35 +0800 (CST) From: Chenghui Pan To: gcc-patches@gcc.gnu.org Cc: xry111@xry111.site, i@xen0n.name, chenglulu@loongson.cn, xuchenghua@loongson.cn, Chenghui Pan Subject: [PATCH v2 1/3] LoongArch: Remove unused/useless definitions. Date: Fri, 15 Mar 2024 09:30:25 +0800 Message-Id: <20240315013027.183888-2-panchenghui@loongson.cn> X-Mailer: git-send-email 2.39.3 In-Reply-To: <20240315013027.183888-1-panchenghui@loongson.cn> References: <20240315013027.183888-1-panchenghui@loongson.cn> MIME-Version: 1.0 X-CM-TRANSID: AQAAf8DxdMy1pPNlIpxaAA--.57932S5 X-CM-SenderInfo: psdquxxhqjx33l6o00pqjv00gofq/1tbiAQARBGXytWcJXgAAsG X-Coremail-Antispam: 1Uk129KBj93XoWxAw1UXFyDuF1fuFy7GryfuFX_yoW7JFy8pr 9ruw13Jr48XrnYqrykJ343Wr1DJwnrWr1IvFnIyrWxCa1DW34DX3WkKr95Xa4jq3yrCry2 9r1rZayavF1UC3cCm3ZEXasCq-sJn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUkjb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_ Gr0_Gr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx1l5I 8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1Y6r17McIj6I8E87Iv67AK xVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41l42xK82IYc2Ij64 vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8G jcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE2I x0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK 8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I 0E14v26r1j6r4UYxBIdaVFxhVjvjDU0xZFpf9x07j1WlkUUUUU= X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org This patch removes some unnecessary definitions of target hook functions according to the documentation of GCC. gcc/ChangeLog: * config/loongarch/loongarch-protos.h (loongarch_cfun_has_cprestore_slot_p): Delete. (loongarch_adjust_insn_length): Delete. (current_section_name): Delete. (loongarch_split_symbol_type): Delete. * config/loongarch/loongarch.cc (loongarch_case_values_threshold): Delete. (loongarch_spill_class): Delete. (TARGET_OPTAB_SUPPORTED_P): Delete. (TARGET_CASE_VALUES_THRESHOLD): Delete. (TARGET_SPILL_CLASS): Delete. --- gcc/config/loongarch/loongarch-protos.h | 5 ----- gcc/config/loongarch/loongarch.cc | 26 ------------------------- 2 files changed, 31 deletions(-) diff --git a/gcc/config/loongarch/loongarch-protos.h b/gcc/config/loongarch/loongarch-protos.h index 1fdfda9af01..871544f760c 100644 --- a/gcc/config/loongarch/loongarch-protos.h +++ b/gcc/config/loongarch/loongarch-protos.h @@ -93,7 +93,6 @@ extern void loongarch_split_lsx_copy_d (rtx, rtx, rtx, rtx (*)(rtx, rtx, rtx)); extern void loongarch_split_lsx_insert_d (rtx, rtx, rtx, rtx); extern void loongarch_split_lsx_fill_d (rtx, rtx); extern const char *loongarch_output_move (rtx, rtx); -extern bool loongarch_cfun_has_cprestore_slot_p (void); #ifdef RTX_CODE extern void loongarch_expand_scc (rtx *); extern bool loongarch_expand_vec_cmp (rtx *); @@ -135,7 +134,6 @@ extern int loongarch_class_max_nregs (enum reg_class, machine_mode); extern machine_mode loongarch_hard_regno_caller_save_mode (unsigned int, unsigned int, machine_mode); -extern int loongarch_adjust_insn_length (rtx_insn *, int); extern const char *loongarch_output_conditional_branch (rtx_insn *, rtx *, const char *, const char *); @@ -157,7 +155,6 @@ extern bool loongarch_global_symbol_noweak_p (const_rtx); extern bool loongarch_weak_symbol_p (const_rtx); extern bool loongarch_symbol_binds_local_p (const_rtx); -extern const char *current_section_name (void); extern unsigned int current_section_flags (void); extern bool loongarch_use_ins_ext_p (rtx, HOST_WIDE_INT, HOST_WIDE_INT); extern bool loongarch_check_zero_div_p (void); @@ -198,8 +195,6 @@ extern bool loongarch_epilogue_uses (unsigned int); extern bool loongarch_load_store_bonding_p (rtx *, machine_mode, bool); extern bool loongarch_split_symbol_type (enum loongarch_symbol_type); -typedef rtx (*mulsidi3_gen_fn) (rtx, rtx, rtx); - extern void loongarch_register_frame_header_opt (void); extern void loongarch_expand_vec_cond_expr (machine_mode, machine_mode, rtx *); extern void loongarch_expand_vec_cond_mask_expr (machine_mode, machine_mode, diff --git a/gcc/config/loongarch/loongarch.cc b/gcc/config/loongarch/loongarch.cc index 70e31bb831c..b25624c9406 100644 --- a/gcc/config/loongarch/loongarch.cc +++ b/gcc/config/loongarch/loongarch.cc @@ -10810,23 +10810,6 @@ loongarch_expand_vec_cmp (rtx operands[]) return true; } -/* Implement TARGET_CASE_VALUES_THRESHOLD. */ - -unsigned int -loongarch_case_values_threshold (void) -{ - return default_case_values_threshold (); -} - -/* Implement TARGET_SPILL_CLASS. */ - -static reg_class_t -loongarch_spill_class (reg_class_t rclass ATTRIBUTE_UNUSED, - machine_mode mode ATTRIBUTE_UNUSED) -{ - return NO_REGS; -} - /* Implement TARGET_PROMOTE_FUNCTION_MODE. */ /* This function is equivalent to default_promote_function_mode_always_promote @@ -11281,9 +11264,6 @@ loongarch_asm_code_end (void) #undef TARGET_FUNCTION_ARG_BOUNDARY #define TARGET_FUNCTION_ARG_BOUNDARY loongarch_function_arg_boundary -#undef TARGET_OPTAB_SUPPORTED_P -#define TARGET_OPTAB_SUPPORTED_P loongarch_optab_supported_p - #undef TARGET_VECTOR_MODE_SUPPORTED_P #define TARGET_VECTOR_MODE_SUPPORTED_P loongarch_vector_mode_supported_p @@ -11353,18 +11333,12 @@ loongarch_asm_code_end (void) #undef TARGET_SCHED_REASSOCIATION_WIDTH #define TARGET_SCHED_REASSOCIATION_WIDTH loongarch_sched_reassociation_width -#undef TARGET_CASE_VALUES_THRESHOLD -#define TARGET_CASE_VALUES_THRESHOLD loongarch_case_values_threshold - #undef TARGET_ATOMIC_ASSIGN_EXPAND_FENV #define TARGET_ATOMIC_ASSIGN_EXPAND_FENV loongarch_atomic_assign_expand_fenv #undef TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS #define TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS true -#undef TARGET_SPILL_CLASS -#define TARGET_SPILL_CLASS loongarch_spill_class - #undef TARGET_HARD_REGNO_NREGS #define TARGET_HARD_REGNO_NREGS loongarch_hard_regno_nregs #undef TARGET_HARD_REGNO_MODE_OK From patchwork Fri Mar 15 01:30:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chenghui Pan X-Patchwork-Id: 1912317 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TwmtJ4S1Yz1yX0 for ; Fri, 15 Mar 2024 12:31:20 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 885773857BBC for ; Fri, 15 Mar 2024 01:31:18 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 03A33385829C for ; Fri, 15 Mar 2024 01:30:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 03A33385829C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=loongson.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 03A33385829C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:142:3::10 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710466257; cv=none; b=cZgBTIpPm4pcWPd5HK84e4dD3itZuIGF2ZnzxEH/FVsxDxW26CP49/5RbVDHYVUkfj777doGC8yjRunMK0nqP5bSAKzjWU9BYXeG5+k/Bvgutzf3JxJN0qf24n7BJWytzTjxaWNFfpWaTPbRVQT2a4SGAWa7S+TsnIGNnjAdKOU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710466257; c=relaxed/simple; bh=A+Q5/zrsLIyEFqqPwWvVXhDr2bd4u5oIRaJRjvHUka4=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=x11jVomHpj4z8JGgi8NXujOYpXyoUiojqn+0ujpOFFk5ssF5C32jDKwTuRCikbNllA7znw34XF2uQ8RFTYjFoBMUJkrfUH9boE9kBP0EuWgTI/HvM83Z/Mo2DRzwS9k2jtAUnaZH/HuICn8dNOd0PTYSFHiOsVIvp6grv/Scc9A= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rkwPJ-00035D-RK for gcc-patches@gcc.gnu.org; Thu, 14 Mar 2024 21:30:52 -0400 Received: from loongson.cn (unknown [10.2.6.5]) by gateway (Coremail) with SMTP id _____8Cxbeu+pPNlRVAZAA--.60976S3; Fri, 15 Mar 2024 09:30:38 +0800 (CST) Received: from 5.5.5 (unknown [10.2.6.5]) by localhost.localdomain (Coremail) with SMTP id AQAAf8DxdMy1pPNlIpxaAA--.57932S6; Fri, 15 Mar 2024 09:30:36 +0800 (CST) From: Chenghui Pan To: gcc-patches@gcc.gnu.org Cc: xry111@xry111.site, i@xen0n.name, chenglulu@loongson.cn, xuchenghua@loongson.cn, Chenghui Pan Subject: [PATCH v2 2/3] LoongArch: Change loongarch_expand_vec_cmp()'s return type from bool to void. Date: Fri, 15 Mar 2024 09:30:26 +0800 Message-Id: <20240315013027.183888-3-panchenghui@loongson.cn> X-Mailer: git-send-email 2.39.3 In-Reply-To: <20240315013027.183888-1-panchenghui@loongson.cn> References: <20240315013027.183888-1-panchenghui@loongson.cn> MIME-Version: 1.0 X-CM-TRANSID: AQAAf8DxdMy1pPNlIpxaAA--.57932S6 X-CM-SenderInfo: psdquxxhqjx33l6o00pqjv00gofq/1tbiAQARBGXytWcJYQAAs5 X-Coremail-Antispam: 1Uk129KBj93XoWxZFyrXryfAw15tFyDZr48Zrc_yoWrJw15pr Zru3sxJr48Jan3W3WDG343Xw1DGrZrKw12vayayr97Cw4UWr1UZFyrtr9xXF1UXw4rZ34I qr1Fka1jva1UGwbCm3ZEXasCq-sJn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUk0b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r126r13M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVWxJVW8Jr1l84ACjcxK6I8E87Iv6xkF7I0E14v2 6r4j6r4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2zVCFFI0UMc 02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUAVWUtwAv7VC2z280aVAF wI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JMxAIw28IcxkI7V AKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCj r7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY6x IIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAI w20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x 0267AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjxU7TKZDUUUU Received-SPF: pass client-ip=114.242.206.163; envelope-from=panchenghui@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_FAIL, SPF_HELO_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org This function is always return true at the end of function implementation, so the return value is useless. gcc/ChangeLog: * config/loongarch/lasx.md (vec_cmp): Remove checking of loongarch_expand_vec_cmp()'s return value. (vec_cmpu): Ditto. * config/loongarch/lsx.md (vec_cmp): Ditto. (vec_cmpu): Ditto. * config/loongarch/loongarch-protos.h (loongarch_expand_vec_cmp): Change loongarch_expand_vec_cmp()'s return type from bool to void. * config/loongarch/loongarch.cc (loongarch_expand_vec_cmp): Ditto. --- gcc/config/loongarch/lasx.md | 6 ++---- gcc/config/loongarch/loongarch-protos.h | 2 +- gcc/config/loongarch/loongarch.cc | 3 +-- gcc/config/loongarch/lsx.md | 6 ++---- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/gcc/config/loongarch/lasx.md b/gcc/config/loongarch/lasx.md index ac84db7f0ce..8d4c6b4ec35 100644 --- a/gcc/config/loongarch/lasx.md +++ b/gcc/config/loongarch/lasx.md @@ -1383,8 +1383,7 @@ (define_expand "vec_cmp" (match_operand:LASX 3 "register_operand")]))] "ISA_HAS_LASX" { - bool ok = loongarch_expand_vec_cmp (operands); - gcc_assert (ok); + loongarch_expand_vec_cmp (operands); DONE; }) @@ -1395,8 +1394,7 @@ (define_expand "vec_cmpu" (match_operand:ILASX 3 "register_operand")]))] "ISA_HAS_LASX" { - bool ok = loongarch_expand_vec_cmp (operands); - gcc_assert (ok); + loongarch_expand_vec_cmp (operands); DONE; }) diff --git a/gcc/config/loongarch/loongarch-protos.h b/gcc/config/loongarch/loongarch-protos.h index 871544f760c..e3ed2b912a5 100644 --- a/gcc/config/loongarch/loongarch-protos.h +++ b/gcc/config/loongarch/loongarch-protos.h @@ -95,7 +95,7 @@ extern void loongarch_split_lsx_fill_d (rtx, rtx); extern const char *loongarch_output_move (rtx, rtx); #ifdef RTX_CODE extern void loongarch_expand_scc (rtx *); -extern bool loongarch_expand_vec_cmp (rtx *); +extern void loongarch_expand_vec_cmp (rtx *); extern void loongarch_expand_conditional_branch (rtx *); extern void loongarch_expand_conditional_move (rtx *); extern void loongarch_expand_conditional_trap (rtx); diff --git a/gcc/config/loongarch/loongarch.cc b/gcc/config/loongarch/loongarch.cc index b25624c9406..7ef04329668 100644 --- a/gcc/config/loongarch/loongarch.cc +++ b/gcc/config/loongarch/loongarch.cc @@ -10801,13 +10801,12 @@ loongarch_expand_vec_cond_mask_expr (machine_mode mode, machine_mode vimode, } /* Expand integer vector comparison */ -bool +void loongarch_expand_vec_cmp (rtx operands[]) { rtx_code code = GET_CODE (operands[1]); loongarch_expand_lsx_cmp (operands[0], code, operands[2], operands[3]); - return true; } /* Implement TARGET_PROMOTE_FUNCTION_MODE. */ diff --git a/gcc/config/loongarch/lsx.md b/gcc/config/loongarch/lsx.md index b9b94b9079c..87d3e7c5d9f 100644 --- a/gcc/config/loongarch/lsx.md +++ b/gcc/config/loongarch/lsx.md @@ -518,8 +518,7 @@ (define_expand "vec_cmp" (match_operand:LSX 3 "register_operand")]))] "ISA_HAS_LSX" { - bool ok = loongarch_expand_vec_cmp (operands); - gcc_assert (ok); + loongarch_expand_vec_cmp (operands); DONE; }) @@ -530,8 +529,7 @@ (define_expand "vec_cmpu" (match_operand:ILSX 3 "register_operand")]))] "ISA_HAS_LSX" { - bool ok = loongarch_expand_vec_cmp (operands); - gcc_assert (ok); + loongarch_expand_vec_cmp (operands); DONE; }) From patchwork Fri Mar 15 01:30:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chenghui Pan X-Patchwork-Id: 1912318 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4TwmvJ6dr7z1yX0 for ; Fri, 15 Mar 2024 12:32:12 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D85CE3857BA3 for ; Fri, 15 Mar 2024 01:32:10 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 2A38F3858C60 for ; Fri, 15 Mar 2024 01:30:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2A38F3858C60 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2A38F3858C60 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710466243; cv=none; b=a8VEpmzxN0qGQ7q/HLN9w1XhT5se5HLIQIOSaaZ0s5rV2ART1yj2eIGRdYiEY/bEyHcinquDiPYT+uJcOC/S1tDU+tT1GxRe86WiVfhgF9TaPCxXKXDnOGcZ0p3AhBAG0pJIVs06NepZ6Exv0An5zXGIQ/AZJqGCwEmqCAAJU9U= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710466243; c=relaxed/simple; bh=wFPkD6Ypr44VYAoXJQ5QmQc65t0NIvry7/PAzQ1Wur4=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=mi+tufgFyph8QR3qL86Fnn+F6Hdeei5TVG+XWY+mE64o28bfIo/8kdKXt40Fi8MQcHmvxZnH3VnDcBMsow/Gg5/VL1hYxzI/LLzMf/rQXBVWSVsZ1JtcNPOrfWMDUgJ44OkQMosmUMGuWcngLy5nleIdj/QR0Opm3b7Ox40l/Pc= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from loongson.cn (unknown [10.2.6.5]) by gateway (Coremail) with SMTP id _____8Dxqei_pPNlSlAZAA--.41658S3; Fri, 15 Mar 2024 09:30:39 +0800 (CST) Received: from 5.5.5 (unknown [10.2.6.5]) by localhost.localdomain (Coremail) with SMTP id AQAAf8DxdMy1pPNlIpxaAA--.57932S7; Fri, 15 Mar 2024 09:30:38 +0800 (CST) From: Chenghui Pan To: gcc-patches@gcc.gnu.org Cc: xry111@xry111.site, i@xen0n.name, chenglulu@loongson.cn, xuchenghua@loongson.cn, Chenghui Pan Subject: [PATCH v2 3/3] LoongArch: Combine UNITS_PER_FP_REG and UNITS_PER_FPREG macros. Date: Fri, 15 Mar 2024 09:30:27 +0800 Message-Id: <20240315013027.183888-4-panchenghui@loongson.cn> X-Mailer: git-send-email 2.39.3 In-Reply-To: <20240315013027.183888-1-panchenghui@loongson.cn> References: <20240315013027.183888-1-panchenghui@loongson.cn> MIME-Version: 1.0 X-CM-TRANSID: AQAAf8DxdMy1pPNlIpxaAA--.57932S7 X-CM-SenderInfo: psdquxxhqjx33l6o00pqjv00gofq/1tbiAQARBGXytWcJYwAAs7 X-Coremail-Antispam: 1Uk129KBj93XoWxArW8Wr4ktFy7ArWruFyfAFc_yoWrJr1DpF W7Awnxtr48Xas8JrZ5t3yrWF4kJrnrGFZFqay3KrWvkrWDAr18Zr10kryqqFWUt3yrJr4Y vr1rJa9Fv3Z5A3gCm3ZEXasCq-sJn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUk0b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r126r13M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVWxJVW8Jr1l84ACjcxK6I8E87Iv6xkF7I0E14v2 6r4j6r4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2zVCFFI0UMc 02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUtVWrXwAv7VC2z280aVAF wI0_Gr0_Cr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JMxAIw28IcxkI7V AKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCj r7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY6x IIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAI w20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x 0267AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjxUco7KUUUUU X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org These macros are completely same in definition, so we can keep the previous one and eliminate later one. gcc/ChangeLog: * config/loongarch/loongarch.cc (loongarch_hard_regno_mode_ok_uncached): Combine UNITS_PER_FP_REG and UNITS_PER_FPREG macros. (loongarch_hard_regno_nregs): Ditto. (loongarch_class_max_nregs): Ditto. (loongarch_get_separate_components): Ditto. (loongarch_process_components): Ditto. * config/loongarch/loongarch.h (UNITS_PER_FPREG): Ditto. (UNITS_PER_HWFPVALUE): Ditto. (UNITS_PER_FPVALUE): Ditto. --- gcc/config/loongarch/loongarch.cc | 10 +++++----- gcc/config/loongarch/loongarch.h | 7 ++----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/gcc/config/loongarch/loongarch.cc b/gcc/config/loongarch/loongarch.cc index 7ef04329668..8f657ee1f9c 100644 --- a/gcc/config/loongarch/loongarch.cc +++ b/gcc/config/loongarch/loongarch.cc @@ -6770,7 +6770,7 @@ loongarch_hard_regno_mode_ok_uncached (unsigned int regno, machine_mode mode) and TRUNC. There's no point allowing sizes smaller than a word, because the FPU has no appropriate load/store instructions. */ if (mclass == MODE_INT) - return size >= MIN_UNITS_PER_WORD && size <= UNITS_PER_FPREG; + return size >= MIN_UNITS_PER_WORD && size <= UNITS_PER_FP_REG; } return false; @@ -6813,7 +6813,7 @@ loongarch_hard_regno_nregs (unsigned int regno, machine_mode mode) if (LASX_SUPPORTED_MODE_P (mode)) return 1; - return (GET_MODE_SIZE (mode) + UNITS_PER_FPREG - 1) / UNITS_PER_FPREG; + return (GET_MODE_SIZE (mode) + UNITS_PER_FP_REG - 1) / UNITS_PER_FP_REG; } /* All other registers are word-sized. */ @@ -6848,7 +6848,7 @@ loongarch_class_max_nregs (enum reg_class rclass, machine_mode mode) else if (LSX_SUPPORTED_MODE_P (mode)) size = MIN (size, UNITS_PER_LSX_REG); else - size = MIN (size, UNITS_PER_FPREG); + size = MIN (size, UNITS_PER_FP_REG); } left &= ~reg_class_contents[FP_REGS]; } @@ -8222,7 +8222,7 @@ loongarch_get_separate_components (void) if (IMM12_OPERAND (offset)) bitmap_set_bit (components, regno); - offset -= UNITS_PER_FPREG; + offset -= UNITS_PER_FP_REG; } /* Don't mess with the hard frame pointer. */ @@ -8301,7 +8301,7 @@ loongarch_process_components (sbitmap components, loongarch_save_restore_fn fn) if (bitmap_bit_p (components, regno)) loongarch_save_restore_reg (mode, regno, offset, fn); - offset -= UNITS_PER_FPREG; + offset -= UNITS_PER_FP_REG; } } diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h index bf2351f0968..888a633961d 100644 --- a/gcc/config/loongarch/loongarch.h +++ b/gcc/config/loongarch/loongarch.h @@ -138,19 +138,16 @@ along with GCC; see the file COPYING3. If not see /* Width of a LASX vector register in bits. */ #define BITS_PER_LASX_REG (UNITS_PER_LASX_REG * BITS_PER_UNIT) -/* For LARCH, width of a floating point register. */ -#define UNITS_PER_FPREG (TARGET_DOUBLE_FLOAT ? 8 : 4) - /* The largest size of value that can be held in floating-point registers and moved with a single instruction. */ #define UNITS_PER_HWFPVALUE \ - (TARGET_SOFT_FLOAT ? 0 : UNITS_PER_FPREG) + (TARGET_SOFT_FLOAT ? 0 : UNITS_PER_FP_REG) /* The largest size of value that can be held in floating-point registers. */ #define UNITS_PER_FPVALUE \ (TARGET_SOFT_FLOAT ? 0 \ - : TARGET_SINGLE_FLOAT ? UNITS_PER_FPREG \ + : TARGET_SINGLE_FLOAT ? UNITS_PER_FP_REG \ : LONG_DOUBLE_TYPE_SIZE / BITS_PER_UNIT) /* The number of bytes in a double. */