From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vk1-xa32.google.com (mail-vk1-xa32.google.com [IPv6:2607:f8b0:4864:20::a32]) by sourceware.org (Postfix) with ESMTPS id D5ED23850427 for ; Fri, 14 Aug 2020 06:03:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D5ED23850427 Received: by mail-vk1-xa32.google.com with SMTP id l184so1787419vki.10 for ; Thu, 13 Aug 2020 23:03:36 -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; bh=86uOEXjsZYodC+d0I8Gcol4OHILOvaCdnRG47nU1Qjw=; b=W8pvujejURQUm3R88soJ6up79JHxEyQdVhEzK7+fOe0wtglsw9I5Auo+fHwC/ultGO pBek5RA8sfRNUSFLDF5bpx2UQYSbZ0GidEAAlllmS7a73KH+t4EdGNwycKxHDAyWL3T+ Iim/mhqCZKLWBL0KLNqUxBNEzcxHP7y6ZVuNYHm7PeIQqmz4/9Ozp+oHY9Dm3fUfLvTe 0BdlSYVr0FJpi/ou8hKcFsHSl54EQFsoCTXxOp0FdNt5rcVJreOEVRtfkAuqT3il2pEV qdwiV3wUfl9TVwvnHLarfMHc1hkdv1Z18auYeQROBH0I8ossKt9DBg0fSRYcnmiJ64+T F9gA== X-Gm-Message-State: AOAM531Q1jxiKRG0RFTy64ChS36jkTYnNAjgXEdaxFyZiTQFT1pQL2NG hzVa553KE5sjypLsWsRoPIN50RIoXRbp9feE2pW44ZiQBpsn8A== X-Google-Smtp-Source: ABdhPJy0uAKWH6CYotsT30J0TbWoR3ZGIMc5NdH6aHywXgPXO7eEKPQ8bd3Scp5PVVYtmGtA+u05I0LsME8QdH8IpIE= X-Received: by 2002:a1f:2895:: with SMTP id o143mr544262vko.59.1597385016079; Thu, 13 Aug 2020 23:03:36 -0700 (PDT) MIME-Version: 1.0 From: Hongtao Liu Date: Fri, 14 Aug 2020 14:03:57 +0800 Message-ID: Subject: [PATCH]Don't use pinsr for struct initialization. To: GCC Patches , Uros Bizjak Content-Type: multipart/mixed; boundary="00000000000074a97c05acd02e92" X-Spam-Status: No, score=-9.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: Fri, 14 Aug 2020 06:03:38 -0000 --00000000000074a97c05acd02e92 Content-Type: text/plain; charset="UTF-8" Hi: For struct initialization, when it fits in a TImode, gcc will use pinsr insn which causes poor codegen described in PR93897 and PR96562. 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 --00000000000074a97c05acd02e92 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Don-t-use-pinsr-for-store_bit_field-when-dst-is-TImo.patch" Content-Disposition: attachment; filename="0001-Don-t-use-pinsr-for-store_bit_field-when-dst-is-TImo.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kdttnxjo0 RnJvbSBmOTFlMGY2YTdkYTdkZTBlZDFmMWIxMGQwN2IxZmU1M2YzNzczMzBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBsaXVob25ndCA8aG9uZ3Rhby5saXVAaW50ZWwuY29tPgpEYXRl OiBXZWQsIDEyIEF1ZyAyMDIwIDEwOjQ4OjE3ICswODAwClN1YmplY3Q6IFtQQVRDSF0gRG9uJ3Qg dXNlIHBpbnNyIGZvciBzdG9yZV9iaXRfZmllbGQgd2hlbiBkc3QgaXMgVEltb2RlLgoKZ2NjLwoJ UFIgdGFyZ2V0Lzk2NTYyCglQUiB0YXJnZXQvOTM4OTcKCSogY29uZmlnL2kzODYvaTM4Ni1leHBh bmQuYyAoaXg4Nl9leHBhbmRfcGluc3IpOiBEb24ndCB1c2UKCXBpbnNyIGZvciBUSW1vZGUuCgpn Y2MvdGVzdHN1aXRlLwoJKiBnY2MudGFyZ2V0L2kzODYvcHI5NjU2Mi0xLmM6IE5ldyB0ZXN0Lgot LS0KIGdjYy9jb25maWcvaTM4Ni9pMzg2LWV4cGFuZC5jICAgICAgICAgICAgIHwgIDEgLQogZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NjU2Mi0xLmMgfCA4MSArKysrKysrKysrKysr KysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5 NjU2Mi0xLmMKCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvaTM4Ni1leHBhbmQuYyBiL2dj Yy9jb25maWcvaTM4Ni9pMzg2LWV4cGFuZC5jCmluZGV4IGUxOTQyMTQ4MDRiLi4yOTgwOWQ2OTc4 MiAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYtZXhwYW5kLmMKKysrIGIvZ2NjL2Nv bmZpZy9pMzg2L2kzODYtZXhwYW5kLmMKQEAgLTIwMzMzLDcgKzIwMzMzLDYgQEAgaXg4Nl9leHBh bmRfcGluc3IgKHJ0eCAqb3BlcmFuZHMpCiAgICAgY2FzZSBFX1Y0U0ltb2RlOgogICAgIGNhc2Ug RV9WMkRJbW9kZToKICAgICBjYXNlIEVfVjFUSW1vZGU6Ci0gICAgY2FzZSBFX1RJbW9kZToKICAg ICAgIHsKIAltYWNoaW5lX21vZGUgc3JjbW9kZSwgZHN0bW9kZTsKIAlydHggKCpwaW5zcikocnR4 LCBydHgsIHJ0eCwgcnR4KTsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L3ByOTY1NjItMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NjU2Mi0x LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjZlYmVlYjFmYjE3Ci0t LSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NjU2Mi0x LmMKQEAgLTAsMCArMSw4MSBAQAorLyogeyBkZy1kbyBjb21waWxlfSAqLworLyogeyBkZy1vcHRp b25zICItbXNzZTQuMSAtTzIiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1u b3QgInBpbnNyIiB9IH0gKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgbG9uZyBsb25nIGE7Cisg IGludCBiOworfSBzdDE7CisKK3R5cGVkZWYgc3RydWN0Cit7CisgIGxvbmcgbG9uZyBhOworICBp bnQgYjsKKyAgc2hvcnQgYzsKK30gc3QyOworCit0eXBlZGVmIHN0cnVjdAoreworICBsb25nIGxv bmcgYTsKKyAgaW50IGI7CisgIHNob3J0IGM7CisgIGNoYXIgZDsKK30gc3QzOworCit0eXBlZGVm IHN0cnVjdAoreworICBpbnQgYjsKKyAgbG9uZyBsb25nIGE7Cit9IHN0NDsKKwordHlwZWRlZiBz dHJ1Y3QKK3sKKyAgc2hvcnQgYzsKKyAgaW50IGI7CisgIGxvbmcgbG9uZyBhOworfSBzdDU7CisK K3R5cGVkZWYgc3RydWN0Cit7CisgIGNoYXIgZDsKKyAgc2hvcnQgYzsKKyAgaW50IGI7CisgIGxv bmcgbG9uZyBhOworfSBzdDY7CisKK3N0MQorZm9vMSAobG9uZyBsb25nIGEsIGludCBiKQorewor ICByZXR1cm4gKHN0MSl7YSwgYn07Cit9CisKK3N0MgorZm9vMiAobG9uZyBsb25nIGEsIGludCBi LCBzaG9ydCBjKQoreworICByZXR1cm4gKHN0Mil7YSwgYiwgY307Cit9CisKK3N0MworZm9vMyAo bG9uZyBsb25nIGEsIGludCBiLCBzaG9ydCBjLCBjaGFyIGQpCit7CisgIHJldHVybiAoc3QzKXth LCBiLCBjLCBkfTsKK30KKworc3Q0Citmb280IChsb25nIGxvbmcgYSwgaW50IGIpCit7CisgIHJl dHVybiAoc3Q0KXtiLCBhfTsKK30KKworc3Q1Citmb281IChsb25nIGxvbmcgYSwgaW50IGIsIHNo b3J0IGMpCit7CisgIHJldHVybiAoc3Q1KXtjLCBiLCBhfTsKK30KKworc3Q2Citmb282IChsb25n IGxvbmcgYSwgaW50IGIsIHNob3J0IGMsIGNoYXIgZCkKK3sKKyAgcmV0dXJuIChzdDYpe2QsIGMs IGIsIGF9OworfQotLSAKMi4xOC4xCgo= --00000000000074a97c05acd02e92--