From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ua1-x932.google.com (mail-ua1-x932.google.com [IPv6:2607:f8b0:4864:20::932]) by sourceware.org (Postfix) with ESMTPS id 7F7B43857003 for ; Tue, 13 Oct 2020 08:39:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7F7B43857003 Received: by mail-ua1-x932.google.com with SMTP id y1so4709845uac.13 for ; Tue, 13 Oct 2020 01:39:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=7yxwbpMxR5zi6CDu8s1+mm7IO0mUVWWQcqcZzOd3ezs=; b=qVueEvlZ1tZ0rWFQhz/FEP6SrOHgHrEXJjla1V4lA9AY2l0Av5gIlnpz4oj/Mq4hFG 8fjS8ldUbypCI6DejgUBTRRgW5+n2rRfT9xEZJ+Qat+qHjsK5ZhCNsqyHwHna0C0A3JR PueiK8TC1vNaMAtP0sW+C/f/FH9E4UJeZo71IvD7dujeYpxWVVKsVOGp1uZ0rXPNG+bE Vx5TJNXmmvRA955JbXNZD+01fPvZFQZMfuQ8TNWJCHW5Ebp/rYxneayhwFyDCiEPjhmN jX/HKxMHiYnaWCMA8J4qRKcBG+I/JAA844KaXAJii2ILhr41s2eMXV0LH/zkW1DaN8v+ VHHw== X-Gm-Message-State: AOAM533akHWtxVj0J1r7b46936la8elYhSuoI/tyCniZx0iWQfJS1bkQ q3diux2FsKWzEGzgS47tdFlwdkmP/GjJQq1M6/q+5yUoLDlZJA== X-Google-Smtp-Source: ABdhPJxhydGUlenB9YBJC54x1f175kqAGinxS8WhHJlY7u0Rz50sN3RjhJd/M8FPWMEKxSHGPMTpQTcFMv8PYDxz0mc= X-Received: by 2002:ab0:2a02:: with SMTP id o2mr4936110uar.35.1602578392937; Tue, 13 Oct 2020 01:39:52 -0700 (PDT) MIME-Version: 1.0 From: Hongtao Liu Date: Tue, 13 Oct 2020 16:40:53 +0800 Message-ID: Subject: [PATCH] [PR rtl-optimization/97249]Simplify vec_select of paradoxical subreg. To: GCC Patches , Segher Boessenkool Content-Type: multipart/mixed; boundary="000000000000d6205705b1895b83" X-Spam-Status: No, score=-9.6 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.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Oct 2020 08:39:55 -0000 --000000000000d6205705b1895b83 Content-Type: text/plain; charset="UTF-8" Hi: For rtx like (vec_select:V2SI (subreg:V4SI (inner:V2SI) 0) (parallel [(const_int 0) (const_int 1)])) it could be simplified as inner. Bootstrap is ok, regression test on i386 backend is ok. gcc/ChangeLog PR rtl-optimization/97249 * simplify-rtx.c (simplify_binary_operation_1): Simplify vec_select of paradoxical subreg. gcc/testsuite/ChangeLog * gcc.target/i386/pr97249-1.c: New test. -- BR, Hongtao --000000000000d6205705b1895b83 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Simplify-vec_select-of-paradoxical-subreg.patch" Content-Disposition: attachment; filename="0001-Simplify-vec_select-of-paradoxical-subreg.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kg7psjfe0 RnJvbSBjMDAzNjlhYTM2ZDJlMTY5YjU5Mjg3YzU4ODcyYzkxNTk1M2RkMmEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBsaXVob25ndCA8aG9uZ3Rhby5saXVAaW50ZWwuY29tPgpEYXRl OiBUdWUsIDEzIE9jdCAyMDIwIDE1OjM1OjI5ICswODAwClN1YmplY3Q6IFtQQVRDSF0gU2ltcGxp ZnkgdmVjX3NlbGVjdCBvZiBwYXJhZG94aWNhbCBzdWJyZWcuCgpGb3IgcnR4IGxpa2UKICAodmVj X3NlbGVjdDpWMlNJIChzdWJyZWc6VjRTSSAoaW5uZXI6VjJTSSkgMCkKCQkgICAocGFyYWxsZWwg Wyhjb25zdF9pbnQgMCkgKGNvbnN0X2ludCAxKV0pKQppdCBjb3VsZCBiZSBzaW1wbGlmaWVkIGFz IGlubmVyLgoKZ2NjL0NoYW5nZUxvZwoJUFIgcnRsLW9wdGltaXphdGlvbi85NzI0OQoJKiBzaW1w bGlmeS1ydHguYyAoc2ltcGxpZnlfYmluYXJ5X29wZXJhdGlvbl8xKTogU2ltcGxpZnkKCXZlY19z ZWxlY3Qgb2YgcGFyYWRveGljYWwgc3VicmVnLgoKZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKCgkq IGdjYy50YXJnZXQvaTM4Ni9wcjk3MjQ5LTEuYzogTmV3IHRlc3QuCi0tLQogZ2NjL3NpbXBsaWZ5 LXJ0eC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKwog Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NzI0OS0xLmMgfCAzMCArKysrKysrKysr KysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NzI0OS0xLmMKCmRp ZmYgLS1naXQgYS9nY2Mvc2ltcGxpZnktcnR4LmMgYi9nY2Mvc2ltcGxpZnktcnR4LmMKaW5kZXgg ODY5ZjBkMTFiMmUuLjljMzk3MTU3ZjI4IDEwMDY0NAotLS0gYS9nY2Mvc2ltcGxpZnktcnR4LmMK KysrIGIvZ2NjL3NpbXBsaWZ5LXJ0eC5jCkBAIC00MTcwLDYgKzQxNzAsMzMgQEAgc2ltcGxpZnlf YmluYXJ5X29wZXJhdGlvbl8xIChlbnVtIHJ0eF9jb2RlIGNvZGUsIG1hY2hpbmVfbW9kZSBtb2Rl LAogCQkgICAgcmV0dXJuIHN1Ym9wMTsKIAkJfQogCSAgICB9CisKKwkgIC8qIEZvciBjYXNlcyBs aWtlCisJICAgICAodmVjX3NlbGVjdDpWMlNJIChzdWJyZWc6VjRTSSAoaW5uZXI6VjJTSSkgMCkK KwkJCSAgICAgIChwYXJhbGxlbCBbKGNvbnN0X2ludCAwKSAoY29uc3RfaW50IDEpXSkpLgorCSAg ICAgcmV0dXJuIGlubmVyIGRpcmVjdGx5LiAgKi8KKwkgIGlmIChHRVRfQ09ERSAodHJ1ZW9wMCkg PT0gU1VCUkVHCisJICAgICAgJiYgcGFyYWRveGljYWxfc3VicmVnX3AgKHRydWVvcDApCisJICAg ICAgJiYgbW9kZSA9PSBHRVRfTU9ERSAoWEVYUCAodHJ1ZW9wMCwgMCkpCisJICAgICAgJiYgKEdF VF9NT0RFX05VTklUUyAoR0VUX01PREUgKHRydWVvcDApKSkuaXNfY29uc3RhbnQgKCZsMCkKKwkg ICAgICAmJiAoR0VUX01PREVfTlVOSVRTIChtb2RlKSkuaXNfY29uc3RhbnQgKCZsMSkKKwkgICAg ICAmJiBsMCAlIGwxID09IDApCisJICAgIHsKKwkgICAgICBnY2NfYXNzZXJ0IChrbm93bl9lcSAo WFZFQ0xFTiAodHJ1ZW9wMSwgMCksIGwxKSk7CisJICAgICAgdW5zaWduZWQgSE9TVF9XSURFX0lO VCBleHBlY3QgPSAoSE9TVF9XSURFX0lOVF8xVSA8PCBsMSkgLSAxOworCSAgICAgIHVuc2lnbmVk IEhPU1RfV0lERV9JTlQgc2VsID0gMDsKKwkgICAgICBpbnQgaSA9IDA7CisJICAgICAgZm9yICg7 aSAhPSBsMTsgaSsrKQorCQl7CisJCSAgcnR4IGogPSBYVkVDRVhQICh0cnVlb3AxLCAwLCBpKTsK KwkJICBpZiAoIUNPTlNUX0lOVF9QIChqKSkKKwkJICAgIGJyZWFrOworCQkgIHNlbCB8PSBIT1NU X1dJREVfSU5UXzFVIDw8IFVJTlRWQUwgKGopOworCQl9CisJICAgICAgLyogPz8/IE5lZWQgdG8g c2ltcGxpZnkgWEVYUCAodHJ1ZW9wMCwgMCkgaGVyZS4gICovCisJICAgICAgaWYgKHNlbCA9PSBl eHBlY3QpCisJCXJldHVybiBYRVhQICh0cnVlb3AwLCAwKTsKKwkgICAgfQogCX0KIAogICAgICAg aWYgKFhWRUNMRU4gKHRydWVvcDEsIDApID09IDEKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L3ByOTcyNDktMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kz ODYvcHI5NzI0OS0xLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmJj MzRhYThiYWE2Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kz ODYvcHI5NzI0OS0xLmMKQEAgLTAsMCArMSwzMCBAQAorLyogUFIgdGFyZ2V0Lzk3MjQ5ICAqLwor LyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLW1hdngyIC1PMyAtbWFz bT1hdHQiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAidnBtb3Z6 eGJ3XFsgXHRcXStcXFwoXFteXG5cXSoleG1tXFswLTlcXSg/OlxufFxbIFx0XF0rIykiIDIgfSB9 ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZwbW92enh3ZFxbIFx0 XF0rXFxcKFxbXlxuXF0qJXhtbVxbMC05XF0oPzpcbnxcWyBcdFxdKyMpIiAyIH0gfSAqLworLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ2cG1vdnp4ZHFcWyBcdFxdK1xcXChc W15cblxdKiV4bW1cWzAtOVxdKD86XG58XFsgXHRcXSsjKSIgMiB9IH0gKi8KKwordm9pZAorZm9v ICh1bnNpZ25lZCBjaGFyKiBwMSwgdW5zaWduZWQgY2hhciogcDIsIHNob3J0KiBfX3Jlc3RyaWN0 IHAzKQoreworICAgIGZvciAoaW50IGkgPSAwIDsgaSAhPSA4OyBpKyspCisgICAgIHAzW2ldID0g cDFbaV0gKyBwMltpXTsKKyAgICAgcmV0dXJuOworfQorCit2b2lkCitmb28xICh1bnNpZ25lZCBz aG9ydCogcDEsIHVuc2lnbmVkIHNob3J0KiBwMiwgaW50KiBfX3Jlc3RyaWN0IHAzKQoreworICAg IGZvciAoaW50IGkgPSAwIDsgaSAhPSA0OyBpKyspCisgICAgIHAzW2ldID0gcDFbaV0gKyBwMltp XTsKKyAgICAgcmV0dXJuOworfQorCit2b2lkCitmb28yICh1bnNpZ25lZCBpbnQqIHAxLCB1bnNp Z25lZCBpbnQqIHAyLCBsb25nIGxvbmcqIF9fcmVzdHJpY3QgcDMpCit7CisgICAgZm9yIChpbnQg aSA9IDAgOyBpICE9IDI7IGkrKykKKyAgICAgIHAzW2ldID0gKGxvbmcgbG9uZylwMVtpXSArIChs b25nIGxvbmcpcDJbaV07CisgICAgIHJldHVybjsKK30KLS0gCjIuMTguMQoK --000000000000d6205705b1895b83 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Simplify-vec_select-of-paradoxical-subreg.patch" Content-Disposition: attachment; filename="0001-Simplify-vec_select-of-paradoxical-subreg.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kg7ptxop1 RnJvbSBjMDAzNjlhYTM2ZDJlMTY5YjU5Mjg3YzU4ODcyYzkxNTk1M2RkMmEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBsaXVob25ndCA8aG9uZ3Rhby5saXVAaW50ZWwuY29tPgpEYXRl OiBUdWUsIDEzIE9jdCAyMDIwIDE1OjM1OjI5ICswODAwClN1YmplY3Q6IFtQQVRDSF0gU2ltcGxp ZnkgdmVjX3NlbGVjdCBvZiBwYXJhZG94aWNhbCBzdWJyZWcuCgpGb3IgcnR4IGxpa2UKICAodmVj X3NlbGVjdDpWMlNJIChzdWJyZWc6VjRTSSAoaW5uZXI6VjJTSSkgMCkKCQkgICAocGFyYWxsZWwg Wyhjb25zdF9pbnQgMCkgKGNvbnN0X2ludCAxKV0pKQppdCBjb3VsZCBiZSBzaW1wbGlmaWVkIGFz IGlubmVyLgoKZ2NjL0NoYW5nZUxvZwoJUFIgcnRsLW9wdGltaXphdGlvbi85NzI0OQoJKiBzaW1w bGlmeS1ydHguYyAoc2ltcGxpZnlfYmluYXJ5X29wZXJhdGlvbl8xKTogU2ltcGxpZnkKCXZlY19z ZWxlY3Qgb2YgcGFyYWRveGljYWwgc3VicmVnLgoKZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKCgkq IGdjYy50YXJnZXQvaTM4Ni9wcjk3MjQ5LTEuYzogTmV3IHRlc3QuCi0tLQogZ2NjL3NpbXBsaWZ5 LXJ0eC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKwog Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NzI0OS0xLmMgfCAzMCArKysrKysrKysr KysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NzI0OS0xLmMKCmRp ZmYgLS1naXQgYS9nY2Mvc2ltcGxpZnktcnR4LmMgYi9nY2Mvc2ltcGxpZnktcnR4LmMKaW5kZXgg ODY5ZjBkMTFiMmUuLjljMzk3MTU3ZjI4IDEwMDY0NAotLS0gYS9nY2Mvc2ltcGxpZnktcnR4LmMK KysrIGIvZ2NjL3NpbXBsaWZ5LXJ0eC5jCkBAIC00MTcwLDYgKzQxNzAsMzMgQEAgc2ltcGxpZnlf YmluYXJ5X29wZXJhdGlvbl8xIChlbnVtIHJ0eF9jb2RlIGNvZGUsIG1hY2hpbmVfbW9kZSBtb2Rl LAogCQkgICAgcmV0dXJuIHN1Ym9wMTsKIAkJfQogCSAgICB9CisKKwkgIC8qIEZvciBjYXNlcyBs aWtlCisJICAgICAodmVjX3NlbGVjdDpWMlNJIChzdWJyZWc6VjRTSSAoaW5uZXI6VjJTSSkgMCkK KwkJCSAgICAgIChwYXJhbGxlbCBbKGNvbnN0X2ludCAwKSAoY29uc3RfaW50IDEpXSkpLgorCSAg ICAgcmV0dXJuIGlubmVyIGRpcmVjdGx5LiAgKi8KKwkgIGlmIChHRVRfQ09ERSAodHJ1ZW9wMCkg PT0gU1VCUkVHCisJICAgICAgJiYgcGFyYWRveGljYWxfc3VicmVnX3AgKHRydWVvcDApCisJICAg ICAgJiYgbW9kZSA9PSBHRVRfTU9ERSAoWEVYUCAodHJ1ZW9wMCwgMCkpCisJICAgICAgJiYgKEdF VF9NT0RFX05VTklUUyAoR0VUX01PREUgKHRydWVvcDApKSkuaXNfY29uc3RhbnQgKCZsMCkKKwkg ICAgICAmJiAoR0VUX01PREVfTlVOSVRTIChtb2RlKSkuaXNfY29uc3RhbnQgKCZsMSkKKwkgICAg ICAmJiBsMCAlIGwxID09IDApCisJICAgIHsKKwkgICAgICBnY2NfYXNzZXJ0IChrbm93bl9lcSAo WFZFQ0xFTiAodHJ1ZW9wMSwgMCksIGwxKSk7CisJICAgICAgdW5zaWduZWQgSE9TVF9XSURFX0lO VCBleHBlY3QgPSAoSE9TVF9XSURFX0lOVF8xVSA8PCBsMSkgLSAxOworCSAgICAgIHVuc2lnbmVk IEhPU1RfV0lERV9JTlQgc2VsID0gMDsKKwkgICAgICBpbnQgaSA9IDA7CisJICAgICAgZm9yICg7 aSAhPSBsMTsgaSsrKQorCQl7CisJCSAgcnR4IGogPSBYVkVDRVhQICh0cnVlb3AxLCAwLCBpKTsK KwkJICBpZiAoIUNPTlNUX0lOVF9QIChqKSkKKwkJICAgIGJyZWFrOworCQkgIHNlbCB8PSBIT1NU X1dJREVfSU5UXzFVIDw8IFVJTlRWQUwgKGopOworCQl9CisJICAgICAgLyogPz8/IE5lZWQgdG8g c2ltcGxpZnkgWEVYUCAodHJ1ZW9wMCwgMCkgaGVyZS4gICovCisJICAgICAgaWYgKHNlbCA9PSBl eHBlY3QpCisJCXJldHVybiBYRVhQICh0cnVlb3AwLCAwKTsKKwkgICAgfQogCX0KIAogICAgICAg aWYgKFhWRUNMRU4gKHRydWVvcDEsIDApID09IDEKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9pMzg2L3ByOTcyNDktMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kz ODYvcHI5NzI0OS0xLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmJj MzRhYThiYWE2Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kz ODYvcHI5NzI0OS0xLmMKQEAgLTAsMCArMSwzMCBAQAorLyogUFIgdGFyZ2V0Lzk3MjQ5ICAqLwor LyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLW1hdngyIC1PMyAtbWFz bT1hdHQiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAidnBtb3Z6 eGJ3XFsgXHRcXStcXFwoXFteXG5cXSoleG1tXFswLTlcXSg/OlxufFxbIFx0XF0rIykiIDIgfSB9 ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgInZwbW92enh3ZFxbIFx0 XF0rXFxcKFxbXlxuXF0qJXhtbVxbMC05XF0oPzpcbnxcWyBcdFxdKyMpIiAyIH0gfSAqLworLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJ2cG1vdnp4ZHFcWyBcdFxdK1xcXChc W15cblxdKiV4bW1cWzAtOVxdKD86XG58XFsgXHRcXSsjKSIgMiB9IH0gKi8KKwordm9pZAorZm9v ICh1bnNpZ25lZCBjaGFyKiBwMSwgdW5zaWduZWQgY2hhciogcDIsIHNob3J0KiBfX3Jlc3RyaWN0 IHAzKQoreworICAgIGZvciAoaW50IGkgPSAwIDsgaSAhPSA4OyBpKyspCisgICAgIHAzW2ldID0g cDFbaV0gKyBwMltpXTsKKyAgICAgcmV0dXJuOworfQorCit2b2lkCitmb28xICh1bnNpZ25lZCBz aG9ydCogcDEsIHVuc2lnbmVkIHNob3J0KiBwMiwgaW50KiBfX3Jlc3RyaWN0IHAzKQoreworICAg IGZvciAoaW50IGkgPSAwIDsgaSAhPSA0OyBpKyspCisgICAgIHAzW2ldID0gcDFbaV0gKyBwMltp XTsKKyAgICAgcmV0dXJuOworfQorCit2b2lkCitmb28yICh1bnNpZ25lZCBpbnQqIHAxLCB1bnNp Z25lZCBpbnQqIHAyLCBsb25nIGxvbmcqIF9fcmVzdHJpY3QgcDMpCit7CisgICAgZm9yIChpbnQg aSA9IDAgOyBpICE9IDI7IGkrKykKKyAgICAgIHAzW2ldID0gKGxvbmcgbG9uZylwMVtpXSArIChs b25nIGxvbmcpcDJbaV07CisgICAgIHJldHVybjsKK30KLS0gCjIuMTguMQoK --000000000000d6205705b1895b83--