From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe44.google.com (mail-vs1-xe44.google.com [IPv6:2607:f8b0:4864:20::e44]) by sourceware.org (Postfix) with ESMTPS id A5D3B3857C6E for ; Tue, 18 Aug 2020 02:23:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A5D3B3857C6E Received: by mail-vs1-xe44.google.com with SMTP id n4so9315576vsl.10 for ; Mon, 17 Aug 2020 19:23:46 -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:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WEgzZ+3COPQ0ozU2m7ytCgmQGN+dZRZRd3ZbTh8Xcuc=; b=s3nnfm83+sHDjBSC0OO/7vbE7O1x7DiCEKan8kPYOe9r++jqY/DxclbQ/aytzmnWui qlvLGUzm+hxObbJl1ZxUztRch5mXwswmr5zSmLgBOpdaItNeTBpGquFqsFNvGUw23eAy x0e8hT7p3glz6jAAhqBqyWspDh3nplcTZcEelxfblXJtKhJNi70hHdYko6capF+oiRgP xF1O1JJegUn4wLU/JgZNo9aVzb5Ur/ZhEOmkNXfcaSGnKIsJEFeybXr+2fbDeLraLsSA nXvdZfrv5Z7CiixQfLDAEUCixqwphYxix58xeehh7dXplTX88HieewWlfN1UcnOM0+AV lDBw== X-Gm-Message-State: AOAM533I1W++Cdt/aZTP/A6a0bNZYWK7LyFNTKUMP1rN8t/raeyrmIjJ xqyBZn+pc8tpA8emH4msYQ7GNIYgyOlqKG/p/z8= X-Google-Smtp-Source: ABdhPJxppUiYSaZY/aeOXk9RV+rsl2MwMTbKYIJ9/r5g+pJP9Az2rterBf6PEyCjekB4Cd6gGCswBu3kqL2KzYjn3jE= X-Received: by 2002:a67:d516:: with SMTP id l22mr10642616vsj.177.1597717426288; Mon, 17 Aug 2020 19:23:46 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Hongtao Liu Date: Tue, 18 Aug 2020 10:24:05 +0800 Message-ID: Subject: Re: [PATCH]Don't use pinsr for struct initialization. To: Uros Bizjak Cc: GCC Patches Content-Type: multipart/mixed; boundary="000000000000a5562a05ad1d93ef" X-Spam-Status: No, score=-7.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.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, 18 Aug 2020 02:23:48 -0000 --000000000000a5562a05ad1d93ef Content-Type: text/plain; charset="UTF-8" On Fri, Aug 14, 2020 at 5:57 PM Uros Bizjak wrote: > > On Fri, Aug 14, 2020 at 8:03 AM Hongtao Liu wrote: > > > > Hi: > > For struct initialization, when it fits in a TImode, gcc will use > > pinsr insn which causes poor codegen described in PR93897 and PR96562. > > You should probably remove TImode handling also from ix86_expand_pextr. > Yes, but i failed to construct a testcase to cover this part. Anyway, the regression test for i386/x86-64 backend is ok, bootstrap is ok. I also run the patch on SPEC2017, no big impact. > Uros. > > > Bootstrap is ok, regression test is ok for i386/x86-64 backend. > > Ok for trunk? > > > > ChangeLog > > gcc/ > > PR target/96562 > > PR target/93897 > > * config/i386/i386-expand.c (ix86_expand_pinsr): Don't use > > pinsr for TImode. > > > > gcc/testsuite/ > > * gcc.target/i386/pr96562-1.c: New test. > > > > -- > > BR, > > Hongtao Update patch. -- BR, Hongtao --000000000000a5562a05ad1d93ef Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Don-t-use-pinsr-pextr-for-struct-initialization-extr_V2.patch" Content-Disposition: attachment; filename="0001-Don-t-use-pinsr-pextr-for-struct-initialization-extr_V2.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kdzbmg7a0 RnJvbSAxMmU4NzljNDgxY2E3ZmY5YzM0NzdiZWIzZGZkM2I2MTVkYmU4ZjYwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBsaXVob25ndCA8aG9uZ3Rhby5saXVAaW50ZWwuY29tPgpEYXRl OiBXZWQsIDEyIEF1ZyAyMDIwIDEwOjQ4OjE3ICswODAwClN1YmplY3Q6IFtQQVRDSF0gRG9uJ3Qg dXNlIHBpbnNyL3BleHRyIGZvciBzdHJ1Y3QgaW5pdGlhbGl6YXRpb24vZXh0cmFjdGlvbi4KCmdj Yy8KCVBSIHRhcmdldC85NjU2MgoJUFIgdGFyZ2V0LzkzODk3CgkqIGNvbmZpZy9pMzg2L2kzODYt ZXhwYW5kLmMgKGl4ODZfZXhwYW5kX3BpbnNyKTogRG9uJ3QgdXNlCglwaW5zciBmb3IgVEltb2Rl LgoJKGl4ODZfZXhwYW5kX3BleHRyKTogRG9uJ3QgdXNlIHBleHRyIGZvciBUSW1vZGUuCgpnY2Mv dGVzdHN1aXRlLwoJKiBnY2MudGFyZ2V0L2kzODYvcHI5NjU2Mi0xLmM6IE5ldyB0ZXN0LgotLS0K IGdjYy9jb25maWcvaTM4Ni9pMzg2LWV4cGFuZC5jICAgICAgICAgICAgIHwgIDIgLQogZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NjU2Mi0xLmMgfCA4MSArKysrKysrKysrKysrKysr KysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTY1 NjItMS5jCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYtZXhwYW5kLmMgYi9nY2Mv Y29uZmlnL2kzODYvaTM4Ni1leHBhbmQuYwppbmRleCBlMTk0MjE0ODA0Yi4uOWI1ODVjOGNjOGMg MTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvaTM4Ni9pMzg2LWV4cGFuZC5jCisrKyBiL2djYy9jb25m aWcvaTM4Ni9pMzg2LWV4cGFuZC5jCkBAIC0yMDIzNyw3ICsyMDIzNyw2IEBAIGl4ODZfZXhwYW5k X3BleHRyIChydHggKm9wZXJhbmRzKQogICAgIGNhc2UgRV9WNFNJbW9kZToKICAgICBjYXNlIEVf VjJESW1vZGU6CiAgICAgY2FzZSBFX1YxVEltb2RlOgotICAgIGNhc2UgRV9USW1vZGU6CiAgICAg ICB7CiAJbWFjaGluZV9tb2RlIHNyY21vZGUsIGRzdG1vZGU7CiAJcnR4IGQsIHBhdDsKQEAgLTIw MzMzLDcgKzIwMzMyLDYgQEAgaXg4Nl9leHBhbmRfcGluc3IgKHJ0eCAqb3BlcmFuZHMpCiAgICAg Y2FzZSBFX1Y0U0ltb2RlOgogICAgIGNhc2UgRV9WMkRJbW9kZToKICAgICBjYXNlIEVfVjFUSW1v ZGU6Ci0gICAgY2FzZSBFX1RJbW9kZToKICAgICAgIHsKIAltYWNoaW5lX21vZGUgc3JjbW9kZSwg ZHN0bW9kZTsKIAlydHggKCpwaW5zcikocnR4LCBydHgsIHJ0eCwgcnR4KTsKZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByOTY1NjItMS5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2kzODYvcHI5NjU2Mi0xLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLjZlYmVlYjFmYjE3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2kzODYvcHI5NjU2Mi0xLmMKQEAgLTAsMCArMSw4MSBAQAorLyogeyBkZy1k byBjb21waWxlfSAqLworLyogeyBkZy1vcHRpb25zICItbXNzZTQuMSAtTzIiIH0gKi8KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3QgInBpbnNyIiB9IH0gKi8KKwordHlwZWRlZiBz dHJ1Y3QKK3sKKyAgbG9uZyBsb25nIGE7CisgIGludCBiOworfSBzdDE7CisKK3R5cGVkZWYgc3Ry dWN0Cit7CisgIGxvbmcgbG9uZyBhOworICBpbnQgYjsKKyAgc2hvcnQgYzsKK30gc3QyOworCit0 eXBlZGVmIHN0cnVjdAoreworICBsb25nIGxvbmcgYTsKKyAgaW50IGI7CisgIHNob3J0IGM7Cisg IGNoYXIgZDsKK30gc3QzOworCit0eXBlZGVmIHN0cnVjdAoreworICBpbnQgYjsKKyAgbG9uZyBs b25nIGE7Cit9IHN0NDsKKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgc2hvcnQgYzsKKyAgaW50IGI7 CisgIGxvbmcgbG9uZyBhOworfSBzdDU7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGNoYXIgZDsK KyAgc2hvcnQgYzsKKyAgaW50IGI7CisgIGxvbmcgbG9uZyBhOworfSBzdDY7CisKK3N0MQorZm9v MSAobG9uZyBsb25nIGEsIGludCBiKQoreworICByZXR1cm4gKHN0MSl7YSwgYn07Cit9CisKK3N0 MgorZm9vMiAobG9uZyBsb25nIGEsIGludCBiLCBzaG9ydCBjKQoreworICByZXR1cm4gKHN0Mil7 YSwgYiwgY307Cit9CisKK3N0MworZm9vMyAobG9uZyBsb25nIGEsIGludCBiLCBzaG9ydCBjLCBj aGFyIGQpCit7CisgIHJldHVybiAoc3QzKXthLCBiLCBjLCBkfTsKK30KKworc3Q0Citmb280IChs b25nIGxvbmcgYSwgaW50IGIpCit7CisgIHJldHVybiAoc3Q0KXtiLCBhfTsKK30KKworc3Q1Citm b281IChsb25nIGxvbmcgYSwgaW50IGIsIHNob3J0IGMpCit7CisgIHJldHVybiAoc3Q1KXtjLCBi LCBhfTsKK30KKworc3Q2Citmb282IChsb25nIGxvbmcgYSwgaW50IGIsIHNob3J0IGMsIGNoYXIg ZCkKK3sKKyAgcmV0dXJuIChzdDYpe2QsIGMsIGIsIGF9OworfQotLSAKMi4xOC4xCgo= --000000000000a5562a05ad1d93ef--