From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id A7E39385828F for ; Fri, 2 Feb 2024 01:18:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A7E39385828F 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 A7E39385828F 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=1706836692; cv=none; b=fRBLJFL7/25VHe/71V1I4UFe4P9bqPtRRw1T9iCC2r/RXz0Uj9Q7LcL/e9Z3OnPKCS+7aJ2D1KjttDHn12wA4lXQodNa+N+5PhhuioLeafEQpFsp6oWbA23LTjASi9gUrX4VYNYxPPQHFts8A1X3oEN/AbGpT1oI50JakGrbzMw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706836692; c=relaxed/simple; bh=gPlxjcDjcog4wV51ZUC/c20rZC8nhXX7XlLVZU3PqGc=; h=Subject:To:From:Message-ID:Date:MIME-Version; b=b/SnfxgmWitXYk0DKf/IkzHqIoyUczwg9Wa5VMK04eco9F+00H6yyAHKEzv98OE3UDj9HA8s9MHzDzIv/iNGD27iY5GJMpmB57vrpvwNu1oM6luTePiymCR7cWwXQRSzQPsDRpSbHFJKmEBFsVbE2xA0OJQOfOeGUIVDplgOw34= 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 1rViBy-0005J5-6T for gcc-patches@gcc.gnu.org; Thu, 01 Feb 2024 20:18:09 -0500 Received: from loongson.cn (unknown [10.20.4.107]) by gateway (Coremail) with SMTP id _____8AxjuvEQrxlOPUJAA--.28485S3; Fri, 02 Feb 2024 09:17:56 +0800 (CST) Received: from [10.20.4.107] (unknown [10.20.4.107]) by localhost.localdomain (Coremail) with SMTP id AQAAf8AxHs_CQrxlSrosAA--.39558S3; Fri, 02 Feb 2024 09:17:54 +0800 (CST) Subject: Re: [pushed][PATCH v5 0/5] When cmodel=extreme, add macro implementation and fix problems with explicit relos implementation. To: gcc-patches@gcc.gnu.org Cc: xry111@xry111.site, i@xen0n.name, xuchenghua@loongson.cn References: <20240129082201.26087-1-chenglulu@loongson.cn> From: chenglulu Message-ID: Date: Fri, 2 Feb 2024 09:17:54 +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: <20240129082201.26087-1-chenglulu@loongson.cn> Content-Type: text/plain; charset=gbk; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-CM-TRANSID:AQAAf8AxHs_CQrxlSrosAA--.39558S3 X-CM-SenderInfo: xfkh0wpoxo3qxorr0wxvrqhubq/ X-Coremail-Antispam: 1Uk129KBj93XoWxZFy3GFWkCF15ZrWDKrW3Jwc_yoWrJF4xp3 yxZr15Kr4rJ397tF1kJa4fJrsrZF17KrWa9a1agry8ur4fXrZIqF1rKw42qFn8G3WUJryf Xr1fZw15X3W7XacCm3ZEXasCq-sJn29KB7ZKAUJUUUU5529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUv0b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1Y6r17M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_ Gr0_Gr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx1l5I 8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r126r1DMcIj6I8E87Iv67AK xVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lc7I2V7IY0VAS07AlzV AYIcxG8wCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E 14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_JF0_Jw1lIx kGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAF wI0_Jr0_Gr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r 4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU82g43UU UUU== Received-SPF: pass client-ip=114.242.206.163; envelope-from=chenglulu@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 5.0 requ) BAYES_00=-1.9,MIME_CHARSET_FARAWAY=2.45,NICE_REPLY_A=-2.112,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=-5.5 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_SHORT,MIME_CHARSET_FARAWAY,NICE_REPLY_A,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 List-Id: Pushed to r14-8717...r14-8721. ÔÚ 2024/1/29 ÏÂÎç4:21, Lulu Cheng дµÀ: > When cmodel=extreme, since the symbol address is obtained through four instructions, > errors may occur in some cases during linking. Xi Ruoyao fixes this problem. > > https://github.com/loongson/la-abi-specs/blob/release/laelf.adoc#extreme-code-model > > > v4 -> v5: > 1. Modify code format. > 2. Add the implementation patch submitted by Xi Ruoyao about '-mcmodel=extreme -mexplicit-relocs=always'. > > v3 -> v4: > 1. Add macro support for TLS symbols > 2. Added support for loading __get_tls_addr symbol address using call36. > 3. Merge template got_load_tls_{ld/gd/le/ie}. > 4. Enable explicit reloc for extreme TLS GD/LD with -mexplicit-relocs=auto. > > > v2 -> v3: > 1. Modify the detection rules of a test case. > > v1 -> v2: > 1. Use the temporarily allocated registers as intermediate registers to implement the extreme macro. > 2. Fixed bugs in v1 test cases. > > > > Lulu Cheng (4): > LoongArch: Merge template got_load_tls_{ld/gd/le/ie}. > LoongArch: Add the macro implementation of mcmodel=extreme. > LoongArch: Enable explicit reloc for extreme TLS GD/LD with > -mexplicit-relocs=auto. > LoongArch: Added support for loading __get_tls_addr symbol address > using call36. > > Xi Ruoyao (1): > LoongArch: Don't split the instructions containing relocs for extreme > code model. > > gcc/config/loongarch/loongarch-protos.h | 1 + > gcc/config/loongarch/loongarch.cc | 265 ++++++++++-------- > gcc/config/loongarch/loongarch.md | 125 ++++++--- > gcc/config/loongarch/predicates.md | 12 + > .../loongarch/cmodel-extreme-mi-thunk-1.C | 11 + > .../loongarch/cmodel-extreme-mi-thunk-2.C | 6 + > .../loongarch/cmodel-extreme-mi-thunk-3.C | 6 + > .../gcc.target/loongarch/attr-model-5.c | 8 + > .../gcc.target/loongarch/cmodel-extreme-1.c | 18 ++ > .../gcc.target/loongarch/cmodel-extreme-2.c | 7 + > .../explicit-relocs-extreme-auto-tls-ld-gd.c | 5 + > .../explicit-relocs-medium-auto-tls-ld-gd.c | 5 + > ...icit-relocs-medium-call36-auto-tls-ld-gd.c | 5 + > .../loongarch/func-call-extreme-1.c | 14 +- > .../loongarch/func-call-extreme-2.c | 29 +- > .../loongarch/func-call-extreme-3.c | 2 +- > .../loongarch/func-call-extreme-4.c | 2 +- > .../loongarch/func-call-extreme-5.c | 7 + > .../loongarch/func-call-extreme-6.c | 7 + > .../gcc.target/loongarch/tls-extreme-macro.c | 35 +++ > 20 files changed, 375 insertions(+), 195 deletions(-) > create mode 100644 gcc/testsuite/g++.target/loongarch/cmodel-extreme-mi-thunk-1.C > create mode 100644 gcc/testsuite/g++.target/loongarch/cmodel-extreme-mi-thunk-2.C > create mode 100644 gcc/testsuite/g++.target/loongarch/cmodel-extreme-mi-thunk-3.C > create mode 100644 gcc/testsuite/gcc.target/loongarch/attr-model-5.c > create mode 100644 gcc/testsuite/gcc.target/loongarch/cmodel-extreme-1.c > create mode 100644 gcc/testsuite/gcc.target/loongarch/cmodel-extreme-2.c > create mode 100644 gcc/testsuite/gcc.target/loongarch/explicit-relocs-extreme-auto-tls-ld-gd.c > create mode 100644 gcc/testsuite/gcc.target/loongarch/explicit-relocs-medium-auto-tls-ld-gd.c > create mode 100644 gcc/testsuite/gcc.target/loongarch/explicit-relocs-medium-call36-auto-tls-ld-gd.c > create mode 100644 gcc/testsuite/gcc.target/loongarch/func-call-extreme-5.c > create mode 100644 gcc/testsuite/gcc.target/loongarch/func-call-extreme-6.c > create mode 100644 gcc/testsuite/gcc.target/loongarch/tls-extreme-macro.c >