From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 2EDE23858C2C for ; Thu, 10 Mar 2022 06:26:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2EDE23858C2C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn Received: from [10.20.4.52] (unknown [10.20.4.52]) by mail.loongson.cn (Coremail) with SMTP id AQAAf9Bx8M7_mSliDUAGAA--.24935S2; Thu, 10 Mar 2022 14:26:07 +0800 (CST) Subject: Re: [PATCH v8 04/12] LoongArch Port: Machine description files. To: Xi Ruoyao , xuchenghua@loongson.cn, gcc-patches@gcc.gnu.org Cc: joseph@codesourcery.com References: <20220304071809.3082015-1-xuchenghua@loongson.cn> <20220304071809.3082015-5-xuchenghua@loongson.cn> <3aba875a5a97d0d0e2ab50bc9769814ae3270af3.camel@mengyan1223.wang> From: =?UTF-8?B?56iL55KQ55KQ?= Message-ID: Date: Thu, 10 Mar 2022 14:26:07 +0800 User-Agent: Mozilla/5.0 (X11; Linux mips64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <3aba875a5a97d0d0e2ab50bc9769814ae3270af3.camel@mengyan1223.wang> Content-Language: en-US X-CM-TRANSID: AQAAf9Bx8M7_mSliDUAGAA--.24935S2 X-Coremail-Antispam: 1UD129KBjvJXoW7Kw4fGryUur4fAw4kZr4ktFb_yoW8XF17p3 97uwn8tF48XrZ3GwnrJ3yjg3yrKF9xGw47u3Zxtw10ya13Wryvvry0vF9xWFn5Xa1FqFy3 ZF18K3yj9FWUtaUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUv214x267AKxVWUJVW8JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26F4j 6r4UJwA2z4x0Y4vEx4A2jsIE14v26F4UJVW0owA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2 z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcVAKI48JM4x0x7Aq67 IIx4CEVc8vx2IErcIFxwCjr7xvwVCIw2I0I7xG6c02F41lc7I2V7IY0VAS07AlzVAYIcxG 8wCY02Avz4vE-syl42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxV Aqx4xG67AKxVWUGVWUWwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r12 6r1DMIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6x kF7I0E14v26r1j6r4UMIIF0xvE42xK8VAvwI8IcIk0rVWrZr1j6s0DMIIF0xvEx4A2jsIE 14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa 7VUb_gA7UUUUU== X-CM-SenderInfo: xfkh0wpoxo3qxorr0wxvrqhubq/ X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, BODY_8BITS, GIT_PATCH_0, HTML_MESSAGE, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2022 06:26:13 -0000 Hi,    We are modifying the code, this support will be added in the next commit. Thanks. 在 2022/3/8 上午4:15, Xi Ruoyao 写道: > On Fri, 2022-03-04 at 15:18 +0800, xuchenghua@loongson.cn wrote: > >>         * config/loongarch/loongarch.md: New file. > An ICE happens building OpenSSH-8.9p1. Investigation shows it's caused > by the flag "-fzero-call-used-regs=". It's because the compiler > attempts to clear FCCx registers but can't figure out how. > > This flag also triggers ICE for other targets (for example, PR 104820 > for MIPS), and the related tests (zero-scratch-regs-{8,9,10,11}.c) are > marked dg-skip for many targets. > > But it's unfortunate that packages like OpenSSH have already start to > use this flag... I guess they just enabled it once they saw it was > working for i386 :(. So it's better to solve the problem for a new > target. > > A "quick fix" is adding an insn to clear FCCx. This is enough to build > OpenSSH and make zero-scratch-regs-{8,9,10,11}.c PASS. > > diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md > index a9a8bc4b038..76c5ded9fe4 100644 > --- a/gcc/config/loongarch/loongarch.md > +++ b/gcc/config/loongarch/loongarch.md > @@ -2020,6 +2020,12 @@ > DONE; > }) > > +;; Clear one FCC register > +(define_insn "movfcc" [(set (match_operand:FCC 0 "register_operand" "=z") > + (const_int 0))] > + "" > + "movgr2cf\t%0,$r0") > + > ;; Conditional move instructions. > > (define_insn "*sel_using_"