From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) by sourceware.org (Postfix) with ESMTPS id 039533858D20 for ; Thu, 27 Jan 2022 01:20:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 039533858D20 Received: by mail-ej1-x62b.google.com with SMTP id s13so2367552ejy.3 for ; Wed, 26 Jan 2022 17:20:47 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=IT2vmhyuBFjkN5Baf6AiWBpyZ6YiVufwgSAOEU3p+kQ=; b=ImZ8nYqlMYrg8//9+0X9JoUqIZi64tXA20QPQOly7Folc14etNVLETS4V+G7n/4E6V g83uU35ae+7AWRu3iMoKm2YJHTxkRjIfzbqpSsbSRh6PcfwBv1tDCzadQhdNMuexXofE C5jXzAqFmWT3YbrmjFN3Ef54y5O8bWKpPra8XOwFYsrIwRjEIEg0FMJMtCxRHRNdR9UU JWekn6hFo4EjkVKQAKJfn5gkqzFbZad7poL3KZGAYcJa7MSjGO4P4XRZa+auiAHgQ8cC AD7Q47pLbzuTPbXgQsAnLv9rO8Zg4Wmfbz8EYF6EtN+Gp46NARmHYD1AATIqhAwH2Z3h QMXg== X-Gm-Message-State: AOAM531QDwcfaq1uifk6BvMQw2gYr2jLdRF/fLDqOvNkFsMmXOY27uum H7DLJWuoEpSMrV+VFmYnUsCSLfKucMykB9rdPHsriz0k4RDTUg== X-Google-Smtp-Source: ABdhPJx50/oY8Fd85PuDTHIKpR6ZbeV53Dv9QG7p/Uvz/DwV1Vh5Xv+E8OdUDnnP7E3XZO0/FprGfE+1r7VLHnO+g2k= X-Received: by 2002:a17:906:9b88:: with SMTP id dd8mr1156818ejc.658.1643246446513; Wed, 26 Jan 2022 17:20:46 -0800 (PST) MIME-Version: 1.0 From: Reshabh K Sharma Date: Wed, 26 Jan 2022 17:20:35 -0800 Message-ID: Subject: Describe instructions with same reg in def and use or mutiple defs and attach write latency To: gcc-help@gcc.gnu.org X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP 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" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Jan 2022 01:20:49 -0000 Hello everyone, I am trying to implement a post address update load instruction in our downstream riscv backend. I want to attach write latency information to a use register. For example, rd = new_load rs1 rs2, I want to attach separate write latency information to both rd and rs1. I am unable to find how to describe instructions that have an operand as both def and use, and later attach write latency information for the instruction scheduler to work properly. It will also be very helpful if you can point me to the implementation of similar instructions in other backends, for example, LBZU in PowerPC, ARM's LWD post/pre address update versions and ARM's neon simd load with update. Many thanks, Reshabh