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 AD74C3858D28 for ; Thu, 21 Jul 2022 08:26:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AD74C3858D28 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.151] (unknown [10.20.4.151]) by mail.loongson.cn (Coremail) with SMTP id AQAAf9Dxz9O0DdlicC0sAA--.40888S3; Thu, 21 Jul 2022 16:26:30 +0800 (CST) Subject: Re: [PATCH v2 2/6] LoongArch:opcodes: Add new reloc types. To: Xi Ruoyao , binutils@sourceware.org Cc: i.swmail@xen0n.name, maskray@google.com, xuchenghua@loongson.cn, mengqinggang@loongson.cn, huangpei@loongson.cn, chenglulu@loongson.cn, caiyinyu@loongson.cn References: <20220721013751.466014-1-liuzhensong@loongson.cn> <20220721013751.466014-3-liuzhensong@loongson.cn> <78913d16dde639083a318f62facc30713deec3fb.camel@xry111.site> <59572c7c8856cb3e7b65c281a5b05f250712af67.camel@xry111.site> From: liuzhensong Message-ID: <29b49035-abc8-4a58-7f85-f72cc818bade@loongson.cn> Date: Thu, 21 Jul 2022 16:26:28 +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: <59572c7c8856cb3e7b65c281a5b05f250712af67.camel@xry111.site> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-CM-TRANSID: AQAAf9Dxz9O0DdlicC0sAA--.40888S3 X-Coremail-Antispam: 1UD129KBjvdXoWrZrWxAw4xZr18Cw4xur4kZwb_yoW3KFX_XF WDCwna9r18Gr4xGw1UJryjvryUJryqvryIqr10yrnaqryrtwnxGw15urZ5t3W5Grs2yF1U Aw15GrnxJr1xAjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbs8FF20E14v26r4j6ryUM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8w A2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr0_ Cr1l84ACjcxK6I8E87Iv67AKxVWxJr0_GcWl84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s 0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xII jxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr 1lF7xvr2IY64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7Mxk0xIA0c2IEe2xFo4CEbIxv r21lc2xSY4AK6svPMxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I 0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWU tVW8ZwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcV CY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4v20xvaj40_WFyUJVCq3wCI42IY6I8E87Iv 67AKxVW8JVWxJwCI42IY6I8E87Iv6xkF7I0E14v26r4UJVWxJrUvcSsGvfC2KfnxnUUI43 ZEXa7VUbXdbUUUUUU== X-CM-SenderInfo: holx6xphqv003j6o00pqjv00gofq/ X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00, BODY_8BITS, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_PASS, SPF_PASS, TXREP 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: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jul 2022 08:26:34 -0000 在 2022/7/21 下午3:51, Xi Ruoyao 写道: > On Thu, 2022-07-21 at 14:02 +0800, liuzhensong wrote: > >> It seems default for addi.d/ld.d to access extreme address. >> Simple example of abs32: >> address range of abs32 :  0~0xffffffff >> sym address: 0xfffff800 >> lui12.w $rd, 0xfffff >> ori $rd, $d, 0x800 >> $rd is 0xfffff800 >> Obviously, lu12i.w and addi.w/ld.w can not get address > 0xfffff7fc > Hmm... Wouldn't "addi.{w/d} $t0, $zero, -0x800" work for this? > > This can be do in ld relax rather than as. +#define INSN_LA_ABS64                  \ +  "lu12i.w %1,%%abs_hi20(%2);"         \ +  "ori %1,%1,%%abs_lo12(%2);"          \ +  "lu32i.d %1,%%abs64_lo20(%2);"       \ +  "lu52i.d %1,%1,%%abs64_hi12(%2);",   \ +  &LARCH_opts.ase_lp64, 0