From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 67F253858D37 for ; Mon, 20 Nov 2023 01:09:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 67F253858D37 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 67F253858D37 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=1700442556; cv=none; b=Suopdv0vtAE5e0OjkM0MqMTJjBcoRJxI2mo53UnKC7pNmEBuFd6RKgQc0wblijqsiPgLheq91fuSg8+S6qcTcC+YWO06+nldAK4yctBzk9K+PCaeCGBAxc2n8OKNbWEZXhmhB3OdLwzAJbHctF2vpKCyjbGZ/5e5y4Lg7E+y+mY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700442556; c=relaxed/simple; bh=UNhkclsOzkpcLKGMAa5cdWzG4Y3RvwNGXsHS16K5E6Q=; h=Subject:To:From:Message-ID:Date:MIME-Version; b=nQktw3lMc3evKPdBqCQNzsVc6xn46GKtA2tkHQiS7OKrPWEYbvtsN4atCfNwOSvpTFmUtLucQ1oMAXIhi6f4+cMK0ab9sooaKruPHZUWWCwbRqfMBORkAVr1NEH/zI7oUAZdbEMif1Aidh+G9VKoTC0oewAnQJP5+rc4h+rMd1Q= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from loongson.cn (unknown [10.20.4.107]) by gateway (Coremail) with SMTP id _____8BxnuuzsVpl9RY7AA--.48699S3; Mon, 20 Nov 2023 09:09:07 +0800 (CST) Received: from [10.20.4.107] (unknown [10.20.4.107]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Ax3tyxsVplaiBHAA--.23862S3; Mon, 20 Nov 2023 09:09:05 +0800 (CST) Subject: Re: [pushed][PATCH v2] LoongArch: Add code generation support for call36 function calls. To: Xi Ruoyao , gcc-patches@gcc.gnu.org Cc: i@xen0n.name, xuchenghua@loongson.cn References: <20231116072745.6177-1-chenglulu@loongson.cn> <4a04776c-810d-5c3c-6132-646cf52fbe5c@loongson.cn> <2efc73688c6891980d84cd7cd0cbc66bc5283b1f.camel@xry111.site> From: chenglulu Message-ID: Date: Mon, 20 Nov 2023 09:09:04 +0800 User-Agent: Mozilla/5.0 (X11; Linux loongarch64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <2efc73688c6891980d84cd7cd0cbc66bc5283b1f.camel@xry111.site> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-CM-TRANSID:AQAAf8Ax3tyxsVplaiBHAA--.23862S3 X-CM-SenderInfo: xfkh0wpoxo3qxorr0wxvrqhubq/ X-Coremail-Antispam: 1Uk129KBj93XoW7Kr1fGw18tw4DCFyDXr4DZFc_yoW8tF4fpF ZrAF1qyr4UGr9ayasaga4fXws0qw4kta4aga1aqry09FnFkry3ZFs5KasxWFy7Jw4jqry2 vayava17X3Z7A3cCm3ZEXasCq-sJn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUv0b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_JFI_Gr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Jr0_Gr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_ Gr0_Gr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx1l5I 8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AK xVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lc7I2V7IY0VAS07AlzV AYIcxG8wCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E 14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_JF0_Jw1lIx kGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAF wI0_Jr0_Gr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r 4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU8xuctUU UUU== X-Spam-Status: No, score=-8.4 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_SHORT,NICE_REPLY_A,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 List-Id: 在 2023/11/19 上午1:24, Xi Ruoyao 写道: > On Sat, 2023-11-18 at 16:16 +0800, chenglulu wrote: >> Pushed to r14-5567. >> >> 在 2023/11/16 下午3:27, Lulu Cheng 写道: >>> When compiling with '-mcmodel=medium', the function call is made through >>> 'pcaddu18i+jirl' if binutils supports call36, otherwise the >>> native implementation 'pcalau12i+jirl' is used. >>> >>> gcc/ChangeLog: >>> >>> * config.in: Regenerate. >>> * config/loongarch/loongarch-opts.h (HAVE_AS_SUPPORT_CALL36): Define macro. >>> * config/loongarch/loongarch.cc (loongarch_legitimize_call_address): >>> If binutils supports call36, the function call is not split over expand. >>> * config/loongarch/loongarch.md: Add call36 generation code. >>> * config/loongarch/predicates.md: Likewise. >>> * configure: Regenerate. >>> * configure.ac: Check whether binutils supports call36. > With this change I get some test failures with "old" Binutils 2.41: > > FAIL: gcc.target/loongarch/func-call-medium-1.c scan-assembler test:.*la.global\\t.*g\\n\\tjirl > FAIL: gcc.target/loongarch/func-call-medium-1.c scan-assembler test1:.*la.global\\t.*f\\n\\tjirl > FAIL: gcc.target/loongarch/func-call-medium-1.c scan-assembler test2:.*la.local\\t.*l\\n\\tjirl > FAIL: gcc.target/loongarch/func-call-medium-2.c scan-assembler test:.*la.global\\t.*g\\n\\tjirl > FAIL: gcc.target/loongarch/func-call-medium-2.c scan-assembler test1:.*la.local\\t.*f\\n\\tjirl > FAIL: gcc.target/loongarch/func-call-medium-2.c scan-assembler test2:.*la.local\\t.*l\\n\\tjirl > FAIL: gcc.target/loongarch/func-call-medium-3.c scan-assembler test2:.*la.local\\t.*l\\n\\tjirl > FAIL: gcc.target/loongarch/func-call-medium-4.c scan-assembler test1:.*la.local\\t.*f\\n\\tjirl > FAIL: gcc.target/loongarch/func-call-medium-4.c scan-assembler test2:.*la.local\\t.*l\\n\\tjirl > > Some strange thing is happening: with -mexplicit-relocs=auto or always I > get pcalau12i + jirl as expected, but with -mexplicit-relocs=none I get > "pcaddu18i $r1,%call36(g)" and jirl. This seems irony (!). > Thank you for the revision.