From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by sourceware.org (Postfix) with ESMTPS id E87CE3858D37 for ; Fri, 28 Apr 2023 12:29:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E87CE3858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-247526f0eceso7007557a91.2 for ; Fri, 28 Apr 2023 05:29:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682684995; x=1685276995; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=+auyvQ/WFwQUx/SJOX32PeuLFEH+YdnIqfZWvlTXGCU=; b=aDmUNm/TDhZyOX5IzTuo8cNbj6aqJ7m8BHX8N9R2hHbsyPwAtIX/95cGGqP3TkWaTY Yd3VnT6dNODMLGDXdg8gdLzF2SNE5+BPGiAekRETvruz7Gov9PipG2Y6nL5LpC04w/GV n4obuO2CXLXTu1UxOHZ/sA3JCdVyJ6+xm1EoLrb3aTZEClZHFOweME+gQAIGcE2A//r3 FcU95CmWll1Q8hp9KWzcXS5SUBRhnmlz6BYB6lbpuQqiLx+OMdooYMoHqPXtWU+AyVNS jDZEb26DgwASb2v+eL3iHiZlO3vs0liqFrJXQYk7ef74hG2K9/gmKcr+SSgvKkaYeqQ/ Xv+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682684995; x=1685276995; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=+auyvQ/WFwQUx/SJOX32PeuLFEH+YdnIqfZWvlTXGCU=; b=ThpvZBus/gzc1dbopg5fr1aUPNN2vhN/JAjNW23pBqirztgso5g17gDXPCld3DWf+x XW5V7LHGfKyOlTcpRJsQNmRIvUN0ZKeaiEBisuOxCCuTHt+50fHZXMMbQzl1pHvBmSXp DDnabxhIOrFbnbhc0/FftcNaH5bCDs2hQtyXY7XHMjPLeCkNXf+YY4F9nMuUSXTGX2Ba daO80Ceaqk8ySKoecnxWHD6mmfH5Uw0WSTk/7AijdAvDpbUUvsRtSXKlvmXAwqUSp4eu qUtc2/CDsl3vlQSpiNLv1r8n+Cym0DEeBvhRB5bSUk1JvEMsBNNRzQinXCZjwtMny8u2 8uoA== X-Gm-Message-State: AC+VfDxHcw7zNYSjdxEp1WoAcOBrbZM0NxtoIEFtPrUUROAP4qhhE6jL LYmtZty3RFSNkof0Hi+0hiMAv3vF5C81w9d2IAH06d2ZRxg= X-Google-Smtp-Source: ACHHUZ6+sKB92tY7925cxXZhlzg6xukBmjSyMo/SbzKacvHWue/FoTpWWpmCJ9/5Y53jq6l3qJyzIM7t/xiWWzdKyOk= X-Received: by 2002:a17:90a:d3d5:b0:24b:b22d:c78c with SMTP id d21-20020a17090ad3d500b0024bb22dc78cmr5197863pjw.9.1682684995233; Fri, 28 Apr 2023 05:29:55 -0700 (PDT) MIME-Version: 1.0 From: Jivan Hakobyan Date: Fri, 28 Apr 2023 16:29:38 +0400 Message-ID: Subject: RISC-V: Eliminate redundant zero extension of minu/maxu operands To: gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary="00000000000069101f05fa64a1ae" X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,LIKELY_SPAM_BODY,RCVD_IN_DNSWL_NONE,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: --00000000000069101f05fa64a1ae Content-Type: multipart/alternative; boundary="00000000000069101d05fa64a1ac" --00000000000069101d05fa64a1ac Content-Type: text/plain; charset="UTF-8" RV64 the following code: unsigned Min(unsigned a, unsigned b) { return a < b ? a : b; } Compiles to: Min: zext.w a1,a1 zext.w a0,a0 minu a0,a1,a0 sext.w a0,a0 ret This patch removes unnecessary zero extensions of minu/maxu operands. gcc/ChangeLog: * config/riscv/bitmanip.md: Added expanders for minu/maxu instructions gcc/testsuite/ChangeLog: * gcc.target/riscv/zbb-min-max-02.c: Updated scanning check. * gcc.target/riscv/zbb-min-max-03.c: New tests. -- With the best regards Jivan Hakobyan --00000000000069101d05fa64a1ac-- --00000000000069101f05fa64a1ae Content-Type: text/x-patch; charset="US-ASCII"; name="eliminate_zext_for_minu.patch" Content-Disposition: attachment; filename="eliminate_zext_for_minu.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lh0j1i300 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvYml0bWFuaXAubWQgYi9n Y2MvY29uZmlnL3Jpc2N2L2JpdG1hbmlwLm1kCmluZGV4IDQ0YWQzNTBjNzQ3 Li44NTgwYmIzN2JhMCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9i aXRtYW5pcC5tZAorKysgYi9nY2MvY29uZmlnL3Jpc2N2L2JpdG1hbmlwLm1k CkBAIC00MDEsNyArNDAxLDMwIEBACiAgIERPTkU7CiB9KQogCi0oZGVmaW5l X2luc24gIjxiaXRtYW5pcF9vcHRhYj48bW9kZT4zIgorKGRlZmluZV9leHBh bmQgIjxiaXRtYW5pcF9vcHRhYj5kaTMiCisgIFsoc2V0IChtYXRjaF9vcGVy YW5kOkRJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9ciIpCisgICAgICAgIChi aXRtYW5pcF9taW5tYXg6REkgKG1hdGNoX29wZXJhbmQ6REkgMSAicmVnaXN0 ZXJfb3BlcmFuZCIgInIiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg IChtYXRjaF9vcGVyYW5kOkRJIDIgInJlZ2lzdGVyX29wZXJhbmQiICJyIikp KV0KKyAgIlRBUkdFVF82NEJJVCAmJiBUQVJHRVRfWkJCIikKKworKGRlZmlu ZV9leHBhbmQgIjxiaXRtYW5pcF9vcHRhYj5zaTMiCisgIFsoc2V0IChtYXRj aF9vcGVyYW5kOlNJIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9ciIpCisgICAg ICAgIChiaXRtYW5pcF9taW5tYXg6U0kgKG1hdGNoX29wZXJhbmQ6U0kgMSAi cmVnaXN0ZXJfb3BlcmFuZCIgInIiKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChtYXRjaF9vcGVyYW5kOlNJIDIgInJlZ2lzdGVyX29wZXJhbmQi ICJyIikpKV0KKyAgIlRBUkdFVF9aQkIiCit7CisgIGlmIChUQVJHRVRfNjRC SVQpCisgICAgeworICAgICAgcnR4IHQgPSBnZW5fcmVnX3J0eCAoREltb2Rl KTsKKyAgICAgIG9wZXJhbmRzWzFdID0gZm9yY2VfcmVnIChESW1vZGUsIGdl bl9ydHhfU0lHTl9FWFRFTkQgKERJbW9kZSwgb3BlcmFuZHNbMV0pKTsKKyAg ICAgIG9wZXJhbmRzWzJdID0gZm9yY2VfcmVnIChESW1vZGUsIGdlbl9ydHhf U0lHTl9FWFRFTkQgKERJbW9kZSwgb3BlcmFuZHNbMl0pKTsKKyAgICAgIGVt aXRfaW5zbiAoZ2VuXzxiaXRtYW5pcF9vcHRhYj5kaTMgKHQsIG9wZXJhbmRz WzFdLCBvcGVyYW5kc1syXSkpOworICAgICAgZW1pdF9tb3ZlX2luc24gKG9w ZXJhbmRzWzBdLCBnZW5fbG93cGFydCAoU0ltb2RlLCB0KSk7CisgICAgICBE T05FOworICAgIH0KK30pCisKKyhkZWZpbmVfaW5zbiAiKjxiaXRtYW5pcF9v cHRhYj48bW9kZT4zIgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpYIDAgInJl Z2lzdGVyX29wZXJhbmQiICI9ciIpCiAgICAgICAgIChiaXRtYW5pcF9taW5t YXg6WCAobWF0Y2hfb3BlcmFuZDpYIDEgInJlZ2lzdGVyX29wZXJhbmQiICJy IikKIAkJCSAgIChtYXRjaF9vcGVyYW5kOlggMiAicmVnX29yXzBfb3BlcmFu ZCIgInJKIikpKV0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi96YmItbWluLW1heC0wMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3piYi1taW4tbWF4LTAyLmMKaW5kZXggYjQ2Mjg1 OWYxMGYuLmVkZmJmODA3ZDQ1IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvemJiLW1pbi1tYXgtMDIuYworKysgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemJiLW1pbi1tYXgtMDIuYwpA QCAtMSw2ICsxLDYgQEAKIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCiAvKiB7 IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2NfemJhX3piYiAtbWFiaT1scDY0 IiB9ICovCi0vKiB7IGRnLXNraXAtaWYgIiIgeyAqLSotKiB9IHsgIi1PMCIg Ii1PMSIgIi1PcyIgIi1PeiIgIi1PZyIgfSB9ICovCisvKiB7IGRnLXNraXAt aWYgIiIgeyAqLSotKiB9IHsgIi1PMCIgfSB9ICovCiAKIGludCBmKHVuc2ln bmVkIGludCogYSkKIHsKQEAgLTksNiArOSw2IEBAIGludCBmKHVuc2lnbmVk IGludCogYSkKIH0KIAogLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzICJtaW51IiAxIH0gfSAqLwotLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzICJzZXh0LnciIDEgfSB9ICovCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJzZXh0LnciIH0gfSAqLwogLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAiemV4dC53IiB9IH0g Ki8KIApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3piYi1taW4tbWF4LTAzLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvemJiLW1pbi1tYXgtMDMuYwppbmRleCBjN2RlMTAwNDA0OC4u MzhjOTMyYjk1ODAgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi96YmItbWluLW1heC0wMy5jCisrKyBiL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi96YmItbWluLW1heC0wMy5jCkBAIC02LDUg KzYsMTggQEAgaW50IGYoaW50IHgpIHsKICByZXR1cm4geCA+PSAwID8geCA6 IDA7CiB9CiAKK3Vuc2lnbmVkIGYyKHVuc2lnbmVkIHgsIHVuc2lnbmVkIHkp IHsKKyAgcmV0dXJuIHggPiB5ID8geCA6IHk7Cit9CisKK3Vuc2lnbmVkIGYz KHVuc2lnbmVkIHgsIHVuc2lnbmVkIHkpIHsKKyAgcmV0dXJuIHggPCB5ID8g eCA6IHk7Cit9CisKIC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyAibWF4XHQiIDEgfSB9ICovCiAvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItbm90ICJsaVx0IiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyAibWF4dVx0IiAxIH0gfSAqLworLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJtaW51XHQiIDEgfSB9 ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJ6ZXh0 LnciIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5v dCAic2V4dC53IiB9IH0gKi8KKwo= --00000000000069101f05fa64a1ae--