From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by sourceware.org (Postfix) with ESMTPS id 7550B3858D28 for ; Mon, 7 Aug 2023 15:06:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7550B3858D28 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-pl1-x631.google.com with SMTP id d9443c01a7336-1bbf8cb694aso39773315ad.3 for ; Mon, 07 Aug 2023 08:06:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691420788; x=1692025588; h=cc:subject:from:to:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=a7Y0U/A9SD4OALyw6k5zX6w73EBfASZCPooq1jnmcS4=; b=HU0kS5vtALTgwCOCNIlkA0jn/5nI6w1KdZHSk7+y58YpOKPi/3o8ku2Uz872h3RCc5 sxC2i8EESz45mbJiclhI76enFxcslw/Z7n6eg6Ei5+jqjKt7KbkpMfLlmXDfy2zfyqHF OL5PcGS2NZI2ep3ajQb+R2Y3RyssyxqMLC03Xfs9+X6wG55fe8rFFeLaKGBq0lmPDTh5 DYpe6PPwp8+oKfyJEG9NlY96n/AI73J9eOQyilJXjLUnvUWaKSVy1sBFwYwT6vAAPJXd dGuhT24ss4ycgs0L6plwwOeIcgqVrp2Htg12QsYTjWFuNOq/RiiL0UmF06DS1itP4b// Im/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691420788; x=1692025588; h=cc:subject:from:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=a7Y0U/A9SD4OALyw6k5zX6w73EBfASZCPooq1jnmcS4=; b=HAkLVpLUZurwfS/55FBxxT1FLCDSzHG0ugOXWzGYd122yOySUKCES6TWmlHJssTXEp sRyP2iNbxoAwruRbFb/PtJMIYqLjkpTsOCNySlD7MBYTTWMxYcGlHV8J9aTUGIC72hPm 1+2n6cByp81xveNMcqg6rY3nVE2vZweM0WqxXbnIyli9M8Ys4L6Yoc4T87WHg6p/CoKW tstsGHyhjgoMDJu30YaaMKt0wQCx3yRK60yKNqqyG6CrpsKzJZQhqr86i2yxV91w+mtw 8BelqAzdqntmjnDfZFOGC+linC/6heQr5uMdhLzeCyw6ROAAyPYaXkqto4JoT/MPfz4m ZQ/g== X-Gm-Message-State: AOJu0Yw8AgXJS/jyDdVcUDSMCxKBfWzO2wZvFvf2axFB6jnVCrkmHffQ mWYnI5PkJATh3MG7Oa5cA8gVJb1uVmk= X-Google-Smtp-Source: AGHT+IFDfoiFwhAbRGQuQRVp/E32SHqB2ChidDE5ta33ac/K5aiVW+NE3uc9J7iZ9jo0Pv6wsRmEMA== X-Received: by 2002:a17:902:8b84:b0:1b8:72e2:c63 with SMTP id ay4-20020a1709028b8400b001b872e20c63mr10027612plb.8.1691420787525; Mon, 07 Aug 2023 08:06:27 -0700 (PDT) Received: from [172.31.0.109] ([136.36.130.248]) by smtp.gmail.com with ESMTPSA id m2-20020a17090a920200b002612150d958sm8755427pjo.16.2023.08.07.08.06.26 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 07 Aug 2023 08:06:26 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------GXbOdkdzrJX2WtCaoQY3X9PY" Message-ID: <8a79e0aa-f507-b5d3-c5a7-ca292c1b0aaf@gmail.com> Date: Mon, 7 Aug 2023 09:06:25 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US To: "gcc-patches@gcc.gnu.org" From: Jeff Law Subject: [committed] [RISC-V] Handle more cases in riscv_expand_conditional_move Cc: Xiao Zeng , Raphael Zinsly X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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 List-Id: This is a multi-part message in MIME format. --------------GXbOdkdzrJX2WtCaoQY3X9PY Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit As I've mentioned in the main zicond thread, Ventana has had patches that support more cases by first emitting a suitable scc instruction essentially as a canonicalization step of the condition for zicond. For example if we have (set (target) (if_then_else (op (reg1) (reg2)) (true_value) (false_value))) The two register comparison isn't handled by zicond directly. But we can generate something like this instead (set (temp) (op (reg1) (reg2))) (set (target) (if_then_else (op (temp) (const_int 0)) (true_value) (false_value) Then let the remaining code from Xiao handle the true_value/false_value to make sure it's zicond compatible. This is primarily Raphael's work. My involvement has been mostly to move it from its original location (in the .md file) into the expander function and fix minor problems with the FP case. Committed to the trunk, Jeff --------------GXbOdkdzrJX2WtCaoQY3X9PY Content-Type: text/plain; charset=UTF-8; name="P" Content-Disposition: attachment; filename="P" Content-Transfer-Encoding: base64 Y29tbWl0IDhhZTgzMjc0ZDhjYzYwNTQ3ZThjOTJhNDFhNGY0NzE2YjA0NWY1N2EKQXV0aG9y OiBSYXBoYWVsIFppbnNseSA8cnppbnNseUB2ZW50YW5hbWljcm8uY29tPgpEYXRlOiAgIE1v biBBdWcgNyAxMDoyNjoyNCAyMDIzIC0wNDAwCgogICAgW2NvbW1pdHRlZF0gW1JJU0MtVl0g SGFuZGxlIG1vcmUgY2FzZXMgaW4gcmlzY3ZfZXhwYW5kX2NvbmRpdGlvbmFsX21vdmUKICAg IAogICAgQXMgSSd2ZSBtZW50aW9uZWQgaW4gdGhlIG1haW4gemljb25kIHRocmVhZCwgVmVu dGFuYSBoYXMgaGFkIHBhdGNoZXMKICAgIHRoYXQgc3VwcG9ydCBtb3JlIGNhc2VzIGJ5IGZp cnN0IGVtaXR0aW5nIGEgc3VpdGFibGUgc2NjIGluc3RydWN0aW9uCiAgICBlc3NlbnRpYWxs eSBhcyBhIGNhbm9uaWNhbGl6YXRpb24gc3RlcCBvZiB0aGUgY29uZGl0aW9uIGZvciB6aWNv bmQuCiAgICAKICAgIEZvciBleGFtcGxlIGlmIHdlIGhhdmUKICAgIAogICAgKHNldCAodGFy Z2V0KSAoaWZfdGhlbl9lbHNlIChvcCAocmVnMSkgKHJlZzIpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh0cnVlX3ZhbHVlKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChmYWxzZV92YWx1ZSkpKQogICAgCiAgICBUaGUgdHdvIHJlZ2lzdGVyIGNvbXBh cmlzb24gaXNuJ3QgaGFuZGxlZCBieSB6aWNvbmQgZGlyZWN0bHkuICBCdXQgd2UKICAgIGNh biBnZW5lcmF0ZSBzb21ldGhpbmcgbGlrZSB0aGlzIGluc3RlYWQKICAgIAogICAgKHNldCAo dGVtcCkgKG9wIChyZWcxKSAocmVnMikpKQogICAgKHNldCAodGFyZ2V0KSAoaWZfdGhlbl9l bHNlIChvcCAodGVtcCkgKGNvbnN0X2ludCAwKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAodHJ1ZV92YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo ZmFsc2VfdmFsdWUpCiAgICAKICAgIFRoZW4gbGV0IHRoZSByZW1haW5pbmcgY29kZSBmcm9t IFhpYW8gaGFuZGxlIHRoZSB0cnVlX3ZhbHVlL2ZhbHNlX3ZhbHVlCiAgICB0byBtYWtlIHN1 cmUgaXQncyB6aWNvbmQgY29tcGF0aWJsZS4KICAgIAogICAgVGhpcyBpcyBwcmltYXJpbHkg UmFwaGFlbCdzIHdvcmsuICBNeSBpbnZvbHZlbWVudCBoYXMgYmVlbiBtb3N0bHkgdG8KICAg IG1vdmUgaXQgZnJvbSBpdHMgb3JpZ2luYWwgbG9jYXRpb24gKGluIHRoZSAubWQgZmlsZSkg aW50byB0aGUgZXhwYW5kZXIKICAgIGZ1bmN0aW9uIGFuZCBmaXggbWlub3IgcHJvYmxlbXMg d2l0aCB0aGUgRlAgY2FzZS4KICAgIAogICAgZ2NjLwogICAgICAgICAgICAqIGNvbmZpZy9y aXNjdi9yaXNjdi5jYyAocmlzY3ZfZXhwYW5kX2ludF9zY2MpOiBBZGQgaW52ZXJ0X3B0cgog ICAgICAgICAgICBhcyBhbiBhcmd1bWVudCBhbmQgcGFzcyBpdCB0byByaXNjdl9lbWl0X2lu dF9vcmRlcl90ZXN0LgogICAgICAgICAgICAocmlzY3ZfZXhwYW5kX2NvbmRpdGlvbmFsX21v dmUpOiBIYW5kbGUgY2FzZXMgd2hlcmUgdGhlIGNvbmRpdGlvbgogICAgICAgICAgICBpcyBu b3QgRVEvTkUgb3IgdGhlIHNlY29uZCBhcmd1bWVudCB0byB0aGUgY29uZGl0aW9uYWwgaXMg bm90CiAgICAgICAgICAgIChjb25zdF9pbnQgMCkuCiAgICAgICAgICAgICogY29uZmlnL3Jp c2N2L3Jpc2N2LXByb3Rvcy5oIChyaXNjdl9leHBhbmRfaW50X3NjYyk6IFVwZGF0ZSBwcm90 b3R5cGUuCiAgICAKICAgICAgICAgICAgQ28tYXV0aG9yZWQtYnk6IEplZmYgTGF3IDxqbGF3 QHZlbnRhbmFtaWNyby5jb20+CgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNj di1wcm90b3MuaCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmgKaW5kZXggMzI0 OTkxZTI2MTkuLjUzYjg3Y2IyOGQzIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LXByb3Rvcy5oCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmgKQEAg LTEwMyw3ICsxMDMsNyBAQCBleHRlcm4gY29uc3QgY2hhciAqcmlzY3Zfb3V0cHV0X21vdmUg KHJ0eCwgcnR4KTsKIGV4dGVybiBjb25zdCBjaGFyICpyaXNjdl9vdXRwdXRfcmV0dXJuICgp OwogCiAjaWZkZWYgUlRYX0NPREUKLWV4dGVybiB2b2lkIHJpc2N2X2V4cGFuZF9pbnRfc2Nj IChydHgsIGVudW0gcnR4X2NvZGUsIHJ0eCwgcnR4KTsKK2V4dGVybiB2b2lkIHJpc2N2X2V4 cGFuZF9pbnRfc2NjIChydHgsIGVudW0gcnR4X2NvZGUsIHJ0eCwgcnR4LCBib29sICppbnZl cnRfcHRyID0gMCk7CiBleHRlcm4gdm9pZCByaXNjdl9leHBhbmRfZmxvYXRfc2NjIChydHgs IGVudW0gcnR4X2NvZGUsIHJ0eCwgcnR4KTsKIGV4dGVybiB2b2lkIHJpc2N2X2V4cGFuZF9j b25kaXRpb25hbF9icmFuY2ggKHJ0eCwgZW51bSBydHhfY29kZSwgcnR4LCBydHgpOwogZXh0 ZXJuIHJ0eCByaXNjdl9lbWl0X2JpbmFyeSAoZW51bSBydHhfY29kZSBjb2RlLCBydHggZGVz dCwgcnR4IHgsIHJ0eCB5KTsKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Yu Y2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjCmluZGV4IDc3MjhjZDM0NTY5Li4yNzkz MDRhZmMxOSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5jYworKysgYi9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjCkBAIC0zNDk5LDcgKzM0OTksNyBAQCByaXNjdl9l bWl0X2Zsb2F0X2NvbXBhcmUgKGVudW0gcnR4X2NvZGUgKmNvZGUsIHJ0eCAqb3AwLCBydHgg Km9wMSkKIC8qIENPREUtY29tcGFyZSBPUDAgYW5kIE9QMS4gIFN0b3JlIHRoZSByZXN1bHQg aW4gVEFSR0VULiAgKi8KIAogdm9pZAotcmlzY3ZfZXhwYW5kX2ludF9zY2MgKHJ0eCB0YXJn ZXQsIGVudW0gcnR4X2NvZGUgY29kZSwgcnR4IG9wMCwgcnR4IG9wMSkKK3Jpc2N2X2V4cGFu ZF9pbnRfc2NjIChydHggdGFyZ2V0LCBlbnVtIHJ0eF9jb2RlIGNvZGUsIHJ0eCBvcDAsIHJ0 eCBvcDEsIGJvb2wgKmludmVydF9wdHIpCiB7CiAgIHJpc2N2X2V4dGVuZF9jb21wYXJhbmRz IChjb2RlLCAmb3AwLCAmb3AxKTsKICAgb3AwID0gZm9yY2VfcmVnICh3b3JkX21vZGUsIG9w MCk7CkBAIC0zNTEwLDcgKzM1MTAsNyBAQCByaXNjdl9leHBhbmRfaW50X3NjYyAocnR4IHRh cmdldCwgZW51bSBydHhfY29kZSBjb2RlLCBydHggb3AwLCBydHggb3AxKQogICAgICAgcmlz Y3ZfZW1pdF9iaW5hcnkgKGNvZGUsIHRhcmdldCwgemllLCBjb25zdDBfcnR4KTsKICAgICB9 CiAgIGVsc2UKLSAgICByaXNjdl9lbWl0X2ludF9vcmRlcl90ZXN0IChjb2RlLCAwLCB0YXJn ZXQsIG9wMCwgb3AxKTsKKyAgICByaXNjdl9lbWl0X2ludF9vcmRlcl90ZXN0IChjb2RlLCBp bnZlcnRfcHRyLCB0YXJnZXQsIG9wMCwgb3AxKTsKIH0KIAogLyogTGlrZSByaXNjdl9leHBh bmRfaW50X3NjYywgYnV0IGZvciBmbG9hdGluZy1wb2ludCBjb21wYXJpc29ucy4gICovCkBA IC0zNTc2LDcgKzM1NzYsNiBAQCByaXNjdl9leHBhbmRfY29uZGl0aW9uYWxfbW92ZSAocnR4 IGRlc3QsIHJ0eCBvcCwgcnR4IGNvbnMsIHJ0eCBhbHQpCiAgICAgICByZXR1cm4gdHJ1ZTsK ICAgICB9CiAgIGVsc2UgaWYgKFRBUkdFVF9aSUNPTkQKLQkgICAmJiAoY29kZSA9PSBFUSB8 fCBjb2RlID09IE5FKQogCSAgICYmIEdFVF9NT0RFX0NMQVNTIChtb2RlKSA9PSBNT0RFX0lO VCkKICAgICB7CiAgICAgICAvKiBUaGUgY29tcGFyaXNvbiBtdXN0IGJlIGNvbXBhcmluZyBX T1JEX01PREUgb2JqZWN0cy4gICBXZSBtdXN0CkBAIC0zNTg2LDYgKzM1ODUsNDUgQEAgcmlz Y3ZfZXhwYW5kX2NvbmRpdGlvbmFsX21vdmUgKHJ0eCBkZXN0LCBydHggb3AsIHJ0eCBjb25z LCBydHggYWx0KQogICAgICAgaWYgKEdFVF9NT0RFIChvcDApICE9IHdvcmRfbW9kZSB8fCBH RVRfTU9ERSAob3AxKSAhPSB3b3JkX21vZGUpCiAJcmV0dXJuIGZhbHNlOwogCisgICAgICAv KiBDYW5vbmljYWxpemUgdGhlIGNvbXBhcmlzb24uICBJdCBtdXN0IGJlIGFuIGVxdWFsaXR5 IGNvbXBhcmlzb24KKwkgYWdhaW5zdCAwLiAgSWYgaXQgaXNuJ3QsIHRoZW4gZW1pdCBhbiBT Q0MgaW5zdHJ1Y3Rpb24gc28gdGhhdAorCSB3ZSBjYW4gdGhlbiB1c2UgYW4gZXF1YWxpdHkg Y29tcGFyaXNvbiBhZ2FpbnN0IHplcm8uICAqLworICAgICAgaWYgKCFlcXVhbGl0eV9vcGVy YXRvciAob3AsIFZPSURtb2RlKSB8fCBvcDEgIT0gQ09OU1QwX1JUWCAobW9kZSkpCisJewor CSAgZW51bSBydHhfY29kZSBuZXdfY29kZSA9IE5FOworCSAgYm9vbCAqaW52ZXJ0X3B0ciA9 IDA7CisJICBib29sIGludmVydCA9IGZhbHNlOworCisJICBpZiAoY29kZSA9PSBMRSB8fCBj b2RlID09IEdFKQorCSAgICBpbnZlcnRfcHRyID0gJmludmVydDsKKworCSAgLyogRW1pdCBh biBzY2MgbGlrZSBpbnN0cnVjdGlvbiBpbnRvIGEgdGVtcG9yYXJ5CisJICAgICBzbyB0aGF0 IHdlIGNhbiB1c2UgYW4gRVEvTkUgY29tcGFyaXNvbi4gICovCisJICBydHggdG1wID0gZ2Vu X3JlZ19ydHggKG1vZGUpOworCisJICAvKiBXZSBjYW4gc3VwcG9ydCBib3RoIEZQIGFuZCBp bnRlZ2VyIGNvbmRpdGlvbmFsIG1vdmVzLiAgKi8KKwkgIGlmIChJTlRFR1JBTF9NT0RFX1Ag KEdFVF9NT0RFIChYRVhQIChvcCwgMCkpKSkKKwkgICAgcmlzY3ZfZXhwYW5kX2ludF9zY2Mg KHRtcCwgY29kZSwgb3AwLCBvcDEsIGludmVydF9wdHIpOworCSAgZWxzZSBpZiAoRkxPQVRf TU9ERV9QIChHRVRfTU9ERSAoWEVYUCAob3AsIDApKSkKKwkJICAgJiYgZnBfc2NjX2NvbXBh cmlzb24gKG9wLCBHRVRfTU9ERSAob3ApKSkKKwkgICAgcmlzY3ZfZXhwYW5kX2Zsb2F0X3Nj YyAodG1wLCBjb2RlLCBvcDAsIG9wMSk7CisJICBlbHNlCisJICAgIHJldHVybiBmYWxzZTsK KworCSAgLyogSWYgcmlzY3ZfZXhwYW5kX2ludF9zY2MgaW52ZXJ0cyB0aGUgY29uZGl0aW9u LCB0aGVuIGl0IHdpbGwKKwkgICAgIGZsaXAgdGhlIHZhbHVlIG9mIElOVkVSVC4gIFdlIG5l ZWQgdG8ga25vdyB3aGVyZSBzbyB0aGF0CisJICAgICB3ZSBjYW4gYWRqdXN0IGl0IGZvciBv dXIgbmVlZHMuICAqLworCSAgaWYgKGludmVydCkKKwkgICAgbmV3X2NvZGUgPSBFUTsKKwor CSAgb3AgPSBnZW5fcnR4X2ZtdF9lZSAobmV3X2NvZGUsIG1vZGUsIHRtcCwgY29uc3QwX3J0 eCk7CisKKwkgIC8qIFdlJ3ZlIGdlbmVyYXRlZCBhIG5ldyBjb21wYXJpc29uLiAgVXBkYXRl IHRoZSBsb2NhbCB2YXJpYWJsZXMuICAqLworCSAgY29kZSA9IEdFVF9DT0RFIChvcCk7CisJ ICBvcDAgPSBYRVhQIChvcCwgMCk7CisJICBvcDEgPSBYRVhQIChvcCwgMSk7CisJfQorCiAg ICAgICAvKiAwLCByZWcgb3IgMCwgaW1tICovCiAgICAgICBpZiAoY29ucyA9PSBDT05TVDBf UlRYIChtb2RlKQogCSAgJiYgKFJFR19QIChhbHQpCg== --------------GXbOdkdzrJX2WtCaoQY3X9PY--