From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com [IPv6:2607:f8b0:4864:20::533]) by sourceware.org (Postfix) with ESMTPS id DB18E3858D37 for ; Thu, 20 Apr 2023 04:34:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DB18E3858D37 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ventanamicro.com Received: by mail-pg1-x533.google.com with SMTP id 41be03b00d2f7-52160b73bdfso412377a12.1 for ; Wed, 19 Apr 2023 21:34:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1681965279; x=1684557279; h=subject:to:from:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=CZgZl3b+E5wwS/6DftmegQyYTyEKWKAQafdnrqrl7xc=; b=KsmxuP9sSy9gY38PtWKRNlUTci/stnpPgujNFLCVPAt9q/Y03DNtCUaphnbOPVQW4+ XxDNSPtXfryuiIKNKpRC5+rLPa+MYjVsn5bQhwFGhuX4O+6IA5azgKMPeSHC099oe+4+ myW1+k53Iuhm1IKq7NqoO2vQjU8wCmYWNZvORwC5tMEWp+T1CgGjUD9ndSBz1tVuCNEM 038lmCVf4D4OvL7p3ooq2Q8gCoztwET+dXI+Wf7Csj8qaqCwcltt4hNpkn9PfxIP+cIU SiqBuypokfV9n1/4Mn6Pi/uk2SI1OBZH763h0L/AG8iBXFlc5/Puu0murDr+QwaYVg7+ ehIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681965279; x=1684557279; h=subject:to:from:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=CZgZl3b+E5wwS/6DftmegQyYTyEKWKAQafdnrqrl7xc=; b=O/Tt+e/W18WKfad9Kf7vBbdSZuc/YOU8jL2kqnVKNxwAMsddvlybzy4A6ad9I2AJHc cbj0LnwwrrcS5gS9FopzgUH/m7BH+kI+01B02/AnZh6SU48hiSHR9D/dWT0DEgAj8ZME HQXNOWQ9emmpp1FhHc1kCeN/DHg627+/9r/JsObrP3sHM9bCJO4Mx+vEupcCwvb5Ap1j lDAiJ094AvTD+E7+4VggCiaZ9ak/s1273rSVyAGe1oPtm3XEsLYny7RutJ1lW+m2vMFP hFX4maib1GDjDnitRceSjQO9rwG8MaxAjzTbirmWhHpL5iUqpHQjTcpvkzy1jiZ3rF0+ RhNw== X-Gm-Message-State: AAQBX9cD3edTsiDdZ6nm+m15fKPzkWXpt6m0Qd5I+ctoqhjPTboQ6xNQ u4Mb3wiQ5myFB0s7j8aJU1PJFF2gU2o2CnJlMSo= X-Google-Smtp-Source: AKy350Y7r464e65995b16d6IIgcS4s5I/QeB5G72y7nO1a8DaJqw1YaZv6cB3YuR0lFRakhEjemcHQ== X-Received: by 2002:a17:90a:f591:b0:247:13fc:2e2f with SMTP id ct17-20020a17090af59100b0024713fc2e2fmr316621pjb.34.1681965278993; Wed, 19 Apr 2023 21:34:38 -0700 (PDT) Received: from ?IPV6:2601:681:8600:13d0::99f? ([2601:681:8600:13d0::99f]) by smtp.gmail.com with ESMTPSA id u1-20020a17090ae00100b002471f9a010dsm2150546pjy.21.2023.04.19.21.34.36 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Apr 2023 21:34:36 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------xcUq0gbFzkXC6jD000N7yWeC" Message-ID: <3ee750e7-d3f5-12cc-4885-bbe2f6290861@ventanamicro.com> Date: Wed, 19 Apr 2023 22:34:34 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Content-Language: en-US From: Jeff Law To: "gcc-patches@gcc.gnu.org" Subject: [RFA] [PR target/108248] [RISC-V] Break down some bitmanip insn types X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,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: This is a multi-part message in MIME format. --------------xcUq0gbFzkXC6jD000N7yWeC Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit This is primarily Raphael's work. All I did was adjust it to apply to the trunk and add the new types to generic.md's scheduling model. The basic idea here is to make sure we have the ability to schedule the bitmanip instructions with a finer degree of control. Some of the bitmanip instructions are likely to have differing scheduler characteristics across different implementations. So rather than assign these instructions a generic "bitmanip" type, this patch assigns them a type based on their RTL code by using the iterator for the type. Naturally we have to add a few new types. It affects clz, ctz, cpop, min, max. We didn't do this for things like shNadd, single bit manipulation, etc. We certainly could if the needs presents itself. I threw all the new types into the generic_alu bucket in the generic scheduling model. Seems as good a place as any. Someone who knows the sifive uarch should probably add these types (and bitmanip) to the sifive scheduling model. We also noticed that the recently added orc.b didn't have a type at all. So we added it as a generic bitmanip type. This has been bootstrapped in a gcc-12 base and I've built and run the testsuite without regressions on the trunk. Given it was primarily Raphael's work I could probably approve & commit it. But I'd like to give the other RISC-V folks a chance to chime in. OK for the trunk? Jeff --------------xcUq0gbFzkXC6jD000N7yWeC Content-Type: text/plain; charset=UTF-8; name="P" Content-Disposition: attachment; filename="P" Content-Transfer-Encoding: base64 CVBSIHRhcmdldC8xMDgyNDgKZ2NjLwoJKiBjb25maWcvcmlzY3YvYml0bWFuaXAubWQgKGNs eiwgY3R6LCBwY250LCBtaW4sIG1heCBwYXR0ZXJucyk6IFVzZQoJPGJpdG1hbmlwX2luc24+ IGFzIHRoZSB0eXBlIHRvIGFsbG93IGZvciBmaW5lIGdyYWluZWQgY29udHJvbCBvZgoJc2No ZWR1bGluZyB0aGVzZSBpbnNucy4KCSogY29uZmlnL3Jpc2N2L2dlbmVyaWMubWQgKGdlbmVy aWNfYWx1KTogQWRkIGJpdG1hbmlwLCBjbHosIGN0eiwgcGNudCwKCW1pbiwgbWF4LgoJKiBj b25maWcvcmlzY3YvcmlzY3YubWQgKHR5cGUgYXR0cmlidXRlKTogQWRkIHR5cGVzIGZvciBj bHosIGN0eiwKCXBjbnQsIHNpZ25lZCBhbmQgdW5zaWduZWQgbWluL21heC4KCQoKZGlmZiAt LWdpdCBhL2djYy9jb25maWcvcmlzY3YvYml0bWFuaXAubWQgYi9nY2MvY29uZmlnL3Jpc2N2 L2JpdG1hbmlwLm1kCmluZGV4IDM4OGVmNjYyODIwLi40NGFkMzUwYzc0NyAxMDA2NDQKLS0t IGEvZ2NjL2NvbmZpZy9yaXNjdi9iaXRtYW5pcC5tZAorKysgYi9nY2MvY29uZmlnL3Jpc2N2 L2JpdG1hbmlwLm1kCkBAIC0yNDEsNyArMjQxLDcgQEAKICAgICAgICAgKGNsel9jdHpfcGNu dDpTSSAobWF0Y2hfb3BlcmFuZDpTSSAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiciIpKSldCiAg ICJUQVJHRVRfWkJCIgogICAiPGJpdG1hbmlwX2luc24+JX5cdCUwLCUxIgotICBbKHNldF9h dHRyICJ0eXBlIiAiYml0bWFuaXAiKQorICBbKHNldF9hdHRyICJ0eXBlIiAiPGJpdG1hbmlw X2luc24+IikKICAgIChzZXRfYXR0ciAibW9kZSIgIlNJIildKQogCiAoZGVmaW5lX2luc24g Iio8Yml0bWFuaXBfb3B0YWI+ZGlzaTIiCkBAIC0yNTAsNyArMjUwLDcgQEAKICAgICAgICAg ICAoY2x6X2N0el9wY250OlNJIChtYXRjaF9vcGVyYW5kOlNJIDEgInJlZ2lzdGVyX29wZXJh bmQiICJyIikpKSldCiAgICJUQVJHRVRfNjRCSVQgJiYgVEFSR0VUX1pCQiIKICAgIjxiaXRt YW5pcF9pbnNuPndcdCUwLCUxIgotICBbKHNldF9hdHRyICJ0eXBlIiAiYml0bWFuaXAiKQor ICBbKHNldF9hdHRyICJ0eXBlIiAiPGJpdG1hbmlwX2luc24+IikKICAgIChzZXRfYXR0ciAi bW9kZSIgIlNJIildKQogCiAoZGVmaW5lX2luc24gIio8Yml0bWFuaXBfb3B0YWI+ZGkyIgpA QCAtMjU4LDcgKzI1OCw3IEBACiAgICAgICAgIChjbHpfY3R6X3BjbnQ6REkgKG1hdGNoX29w ZXJhbmQ6REkgMSAicmVnaXN0ZXJfb3BlcmFuZCIgInIiKSkpXQogICAiVEFSR0VUXzY0QklU ICYmIFRBUkdFVF9aQkIiCiAgICI8Yml0bWFuaXBfaW5zbj5cdCUwLCUxIgotICBbKHNldF9h dHRyICJ0eXBlIiAiYml0bWFuaXAiKQorICBbKHNldF9hdHRyICJ0eXBlIiAiPGJpdG1hbmlw X2luc24+IikKICAgIChzZXRfYXR0ciAibW9kZSIgIkRJIildKQogCiAoZGVmaW5lX2luc24g Iip6ZXJvX2V4dGVuZGhpPEdQUjptb2RlPjJfYml0bWFuaXAiCkBAIC0zNTcsNyArMzU3LDgg QEAKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6WCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXIi KQogCSh1bnNwZWM6WCBbKG1hdGNoX29wZXJhbmQ6WCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAi ciIpXSBVTlNQRUNfT1JDX0IpKV0KICAgIlRBUkdFVF9aQkIiCi0gICJvcmMuYlx0JTAsJTEi KQorICAib3JjLmJcdCUwLCUxIgorICBbKHNldF9hdHRyICJ0eXBlIiAiYml0bWFuaXAiKV0p CiAKIChkZWZpbmVfZXhwYW5kICJic3dhcGRpMiIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 REkgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCkBAIC00MDYsNyArNDA3LDcgQEAKIAkJCSAgICht YXRjaF9vcGVyYW5kOlggMiAicmVnX29yXzBfb3BlcmFuZCIgInJKIikpKV0KICAgIlRBUkdF VF9aQkIiCiAgICI8Yml0bWFuaXBfaW5zbj5cdCUwLCUxLCV6MiIKLSAgWyhzZXRfYXR0ciAi dHlwZSIgImJpdG1hbmlwIildKQorICBbKHNldF9hdHRyICJ0eXBlIiAiPGJpdG1hbmlwX2lu c24+IildKQogCiA7OyBPcHRpbWl6ZSB0aGUgY29tbW9uIGNhc2Ugb2YgYSBTSW1vZGUgbWlu L21heCBhZ2FpbnN0IGEgY29uc3RhbnQKIDs7IHRoYXQgaXMgc2FmZSBib3RoIGZvciBzaWdu LSBhbmQgemVyby1leHRlbnNpb24uCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L2dl bmVyaWMubWQgYi9nY2MvY29uZmlnL3Jpc2N2L2dlbmVyaWMubWQKaW5kZXggYjk4ZDBhZTUy NTguLmRiNGZhYmJiZDkyIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L2dlbmVyaWMu bWQKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9nZW5lcmljLm1kCkBAIC0yNyw3ICsyNyw3IEBA CiAKIChkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAiZ2VuZXJpY19hbHUiIDEKICAgKGFuZCAo ZXFfYXR0ciAidHVuZSIgImdlbmVyaWMiKQotICAgICAgIChlcV9hdHRyICJ0eXBlIiAidW5r bm93bixjb25zdCxhcml0aCxzaGlmdCxzbHQsbXVsdGksYXVpcGMsbm9wLGxvZ2ljYWwsbW92 ZSIpKQorICAgICAgIChlcV9hdHRyICJ0eXBlIiAidW5rbm93bixjb25zdCxhcml0aCxzaGlm dCxzbHQsbXVsdGksYXVpcGMsbm9wLGxvZ2ljYWwsbW92ZSxiaXRtYW5pcCxzbWluLHNtYXgs dW1pbix1bWF4LGNseixjdHosY3BvcCIpKQogICAiYWx1IikKIAogKGRlZmluZV9pbnNuX3Jl c2VydmF0aW9uICJnZW5lcmljX2xvYWQiIDMKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlz Y3YvcmlzY3YubWQgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kCmluZGV4IGJjMzg0ZDlh ZWRmLi4xNWZiYzVmZTU4MyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5t ZAorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kCkBAIC0zNDQsNiArMzQ0LDcgQEAK ICAgInVua25vd24sYnJhbmNoLGp1bXAsY2FsbCxsb2FkLGZwbG9hZCxzdG9yZSxmcHN0b3Jl LAogICAgbXRjLG1mYyxjb25zdCxhcml0aCxsb2dpY2FsLHNoaWZ0LHNsdCxpbXVsLGlkaXYs bW92ZSxmbW92ZSxmYWRkLGZtdWwsCiAgICBmbWFkZCxmZGl2LGZjbXAsZmN2dCxmc3FydCxt dWx0aSxhdWlwYyxzZmJfYWx1LG5vcCxnaG9zdCxiaXRtYW5pcCxyb3RhdGUsCisgICBtaW4s bWF4LG1pbnUsbWF4dSxjbHosY3R6LGNwb3AsCiAgICBhdG9taWMsY29uZG1vdmUsY3J5cHRv LHJkdmxlbmIscmR2bCx2c2V0dmwsdmxkZSx2c3RlLHZsZG0sdnN0bSx2bGRzLHZzdHMsCiAg ICB2bGR1eCx2bGRveCx2c3R1eCx2c3RveCx2bGRmZix2bGRyLHZzdHIsCiAgICB2aWFsdSx2 aXdhbHUsdmV4dCx2aWNhbHUsdnNoaWZ0LHZuc2hpZnQsdmljbXAsdmltaW5tYXgsCg== --------------xcUq0gbFzkXC6jD000N7yWeC--