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 D82A13858C52 for ; Thu, 18 Jan 2024 07:25:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D82A13858C52 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 D82A13858C52 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=1705562750; cv=none; b=Z2fDygljAIXJ6LrTUsvZbJfpyzVd7ZobE9h2eH0g0NpCfYPwnw1xaamWgJLgY19nBn8N0xeRfWCbq+tnBS986zGbvagAW0lLeZp+vHZfol2pK1SDNfJljE7TlB52t4+EtUCwvpuiGccua7IbjFujzaf0UWjc++ZI4UBIEV045Vc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705562750; c=relaxed/simple; bh=JOalwt7Dk0bZlKhctnoYc3R0V2wZk1vb03H3iNviiU0=; h=Subject:To:From:Message-ID:Date:MIME-Version; b=KD9i9PNn5uTN+F19pYqnvXMIVxGB3yzGJlp5fzjhQetM+NlHxGEb8bNyu+ybfIQFkQH97AT6f4mE6Kgz/zt6DI9hpOvzUMB2hkiMAb6gquRejNueuCbni4zXVVTRhkY/wE/Nl+/9jGlVfW54+Uns26GHUADBzjWtIwXpq3X0VFg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from loongson.cn (unknown [10.20.4.107]) by gateway (Coremail) with SMTP id _____8Cxrut40qhlLIgBAA--.7103S3; Thu, 18 Jan 2024 15:25:45 +0800 (CST) Received: from [10.20.4.107] (unknown [10.20.4.107]) by localhost.localdomain (Coremail) with SMTP id AQAAf8DxDc930qhlnvQHAA--.40707S3; Thu, 18 Jan 2024 15:25:43 +0800 (CST) Subject: Re: [pushed][PATCH] LoongArch: Assign the '/u' attribute to the mem to which the global offset table belongs. To: gcc-patches@gcc.gnu.org Cc: xry111@xry111.site, i@xen0n.name, xuchenghua@loongson.cn References: <20240113063709.19072-1-chenglulu@loongson.cn> From: chenglulu Message-ID: <94cd13f8-1873-b416-4a81-819b1db63ade@loongson.cn> Date: Thu, 18 Jan 2024 15:25:43 +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: <20240113063709.19072-1-chenglulu@loongson.cn> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-CM-TRANSID:AQAAf8DxDc930qhlnvQHAA--.40707S3 X-CM-SenderInfo: xfkh0wpoxo3qxorr0wxvrqhubq/ X-Coremail-Antispam: 1Uk129KBj93XoW7CFyDCF15JFy3tr1fXr1fAFc_yoW8CF15pa srZr1akr4xJr97GFsIq343ZFs8Jrn7GF1a9a4fKry0kw43Z342qF1kK3srWF47Jw4UXryI 9F4rC3WY9F40g3cCm3ZEXasCq-sJn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUv2b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r106r15M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x0267AK xVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx 1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r126r1DMcIj6I8E87Iv 67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lc7I2V7IY0VAS07 AlzVAYIcxG8wCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02 F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_JF0_Jw 1lIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUCVW8JwCI42IY6xIIjxv20xvEc7Cj xVAFwI0_Jr0_Gr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r 1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU8wN VDUUUUU== X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,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: Pushed to r14-8203. 在 2024/1/13 下午2:37, Lulu Cheng 写道: > gcc/ChangeLog: > > * config/loongarch/loongarch.cc (loongarch_split_symbol): > Assign the '/u' attribute to the mem. > > gcc/testsuite/ChangeLog: > > * g++.target/loongarch/got-load.C: New test. > --- > gcc/config/loongarch/loongarch.cc | 5 +++++ > gcc/testsuite/g++.target/loongarch/got-load.C | 19 +++++++++++++++++++ > 2 files changed, 24 insertions(+) > create mode 100644 gcc/testsuite/g++.target/loongarch/got-load.C > > diff --git a/gcc/config/loongarch/loongarch.cc b/gcc/config/loongarch/loongarch.cc > index 3b8559bfdc8..82467474288 100644 > --- a/gcc/config/loongarch/loongarch.cc > +++ b/gcc/config/loongarch/loongarch.cc > @@ -3202,6 +3202,11 @@ loongarch_split_symbol (rtx temp, rtx addr, machine_mode mode, rtx *low_out) > rtx mem = gen_rtx_MEM (Pmode, low); > *low_out = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, mem), > UNSPEC_LOAD_FROM_GOT); > + > + /* Nonzero in a mem, if the memory is statically allocated and > + read-only. A common example of the later is a shared library’s > + global offset table. */ > + MEM_READONLY_P (mem) = 1; > } > > break; > diff --git a/gcc/testsuite/g++.target/loongarch/got-load.C b/gcc/testsuite/g++.target/loongarch/got-load.C > new file mode 100644 > index 00000000000..20924c73942 > --- /dev/null > +++ b/gcc/testsuite/g++.target/loongarch/got-load.C > @@ -0,0 +1,19 @@ > +/* { dg-do compile } */ > +/* { dg-options "-mabi=lp64d -O2 -mexplicit-relocs -mcmodel=normal -fdump-rtl-expand" } */ > +/* { dg-final { scan-rtl-dump-times "mem/u" 2 "expand" } } */ > + > +#include > + > +using namespace std; > + > +int lr[100005][2]; > + > +void > +test(void) > +{ > + int n; > + > + cin >> n; > + for (int i = 0; i < n; ++i) > + cin >> lr[i][0] >> lr[i][1]; > +}