From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 99548 invoked by alias); 25 Jan 2017 08:07:07 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 99521 invoked by uid 89); 25 Jan 2017 08:07:06 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy=H*Ad:U*rguenth X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-yw0-f176.google.com Received: from mail-yw0-f176.google.com (HELO mail-yw0-f176.google.com) (209.85.161.176) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 25 Jan 2017 08:06:56 +0000 Received: by mail-yw0-f176.google.com with SMTP id w75so7307370ywg.1; Wed, 25 Jan 2017 00:06:56 -0800 (PST) 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=xffCo05sumZiKa8K4ow0+Fe0V9rnpM17M4GOo0T27Ik=; b=QsbrYmyKpFXfzFZJPMTbju7uUHU2r2HYLD/rA662kSboOorL+FZd9ZGOZmCcUbFxN2 aCj5GpF/G7TdbjkL6UPEw/1s21deZPAml9htJsPmH2QLCul0JUPJVf2MSMDSZcKEbAmp ULZowY6VcIAGPfxyOd7rRVyserBgpzq9VF1HqKWWSuNrlxXjUpe/B4g/T+E6OSdzBeQ8 GQuorkdBoVQDLtBITgtTQlkdXV6TP6gw7uCj7zarH/hu/OY/utN8qtoBQHtNg8xI5qwf wdpJxIi8LU4xfIdWVf/Mkr3zv0eSAFAoGHWK37oCFhJf9xrLPlniITEMGuigs6erGxY2 exuw== X-Gm-Message-State: AIkVDXJ+uEQ6bUt0DUYBeXdNNoo9KlfPS6KEyOFqB7Avxnxo0uX8I8jKluadxuJr9JlFYhpzUDEMIROqUuVtyg== X-Received: by 10.129.129.3 with SMTP id r3mr4374625ywf.0.1485331614752; Wed, 25 Jan 2017 00:06:54 -0800 (PST) MIME-Version: 1.0 Received: by 10.13.202.13 with HTTP; Wed, 25 Jan 2017 00:06:54 -0800 (PST) From: Yuri Gribov Date: Wed, 25 Jan 2017 08:32:00 -0000 Message-ID: Subject: [PATCH][PR 67328] Improve bitfield testing To: GCC Patches Cc: amodra@gmail.com, rguenth@gcc.gnu.org Content-Type: multipart/mixed; boundary=94eb2c07dd3e45a9810546e6b7d1 X-IsSubscribed: yes X-SW-Source: 2017-01/txt/msg01937.txt.bz2 --94eb2c07dd3e45a9810546e6b7d1 Content-Type: text/plain; charset=UTF-8 Content-length: 167 Hi all, This fixes inefficient bitfield code reported in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67328 Bootstrapped and regtested on x86_64. Ok for trunk? -I --94eb2c07dd3e45a9810546e6b7d1 Content-Type: application/octet-stream; name="pr67328-2.patch" Content-Disposition: attachment; filename="pr67328-2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iycnyq5f0 Content-length: 5751 MjAxNy0wMS0yMSAgWXVyeSBHcmlib3YgIDx0ZXRyYTIwMDVAZ21haWwuY29t PgoKCVBSIHRyZWUtb3B0aW1pemF0aW9uLzY3MzI4CgpnY2MvdGVzdHN1aXRl LwoJKiBjLWMrKy1jb21tb24vZm9sZC1tYXNrZWQtY21wLTEuYzogTmV3IHRl c3QuCgkqIGMtYysrLWNvbW1vbi9mb2xkLW1hc2tlZC1jbXAtMi5jOiBOZXcg dGVzdC4KZ2NjLwoJKiBtYXRjaC5wZDogTmV3IHBhdHRlcm4uCgpkaWZmIC1y dXBOIGdjYy1tYXN0ZXIvZ2NjL21hdGNoLnBkIGdjYy1tYXN0ZXItNjczMjgv Z2NjL21hdGNoLnBkCi0tLSBhL2djYy9tYXRjaC5wZAkyMDE3LTAxLTE5IDA2 OjQ5OjI1LjcyMzAyMDk5OSArMDAwMAorKysgYi9nY2MvbWF0Y2gucGQJMjAx Ny0wMS0yMCAwOToxNToxMC44NTIwMTg5OTkgKzAwMDAKQEAgLTI2MzIsNiAr MjYzMiwzOCBAQCBERUZJTkVfSU5UX0FORF9GTE9BVF9ST1VORF9GTiAoUklO VCkKICAgICAgICB8fCBWRUNUT1JfSU5URUdFUl9UWVBFX1AgKFRSRUVfVFlQ RSAoQDApKSkKICAgIHsgY29uc3RhbnRfYm9vbGVhbl9ub2RlIChmYWxzZSwg dHlwZSk7IH0pKSkKIAorLyogQSAmICgyKipOIC0gMSkgPD0gMioqSyAtIDEg LT4gfihBICYgKDIqKk4gLSAyKipLKQorICAgQSAmICgyKipOIC0gMSkgPCAg MioqSyAgICAgLT4gfihBICYgKDIqKk4gLSAyKipLKQorICAgQSAmICgyKipO IC0gMSkgPj0gMioqSyAgICAgLT4gQSAmICgyKipOIC0gMioqSykKKyAgIEEg JiAoMioqTiAtIDEpID4gIDIqKksgLSAxIC0+IEEgJiAoMioqTiAtIDIqKksp CisgKi8KKworKGZvciBjbXAgKGx0IGxlIGd0IGdlKQorIChzaW1wbGlmeQor ICAoY21wIChiaXRfYW5kQDAgQDEgSU5URUdFUl9DU1RAMikgSU5URUdFUl9D U1RAMykKKyAgKGlmIChUWVBFX1VOU0lHTkVEIChUUkVFX1RZUEUgKEAwKSkg JiYgdHJlZV9maXRzX3Vod2lfcCAoQDIpICYmIHRyZWVfZml0c191aHdpX3Ag KEAzKSkKKyAgICh3aXRoCisgICAgeworICAgICB1bnNpZ25lZCBIT1NUX1dJ REVfSU5UIG1hc2sgPSB0cmVlX3RvX3Vod2kgKEAyKTsKKyAgICAgYm9vbCBt YXNrX2FsbF9vbmVzX3AgPSAhKG1hc2sgJiAobWFzayArIDEpKTsKKyAgICAg dW5zaWduZWQgSE9TVF9XSURFX0lOVCByaHMgPSB0cmVlX3RvX3Vod2kgKEAz KTsKKyAgICB9CisgICAgKGlmIChtYXNrX2FsbF9vbmVzX3AgJiYgcmhzID4g MCkKKyAgICAgKHdpdGgKKyAgICAgIHsKKyAgICAgICB0cmVlIHR5ID0gVFJF RV9UWVBFIChAMCk7CisgICAgICAgZW51bSB0cmVlX2NvZGUgY29kZSA9IGNt cCA9PSBMVF9FWFBSID8gLS1yaHMsIExFX0VYUFIgOgorICAgICAgICAgY21w ID09IEdFX0VYUFIgPyAtLXJocywgR1RfRVhQUiA6CisgICAgICAgICBjbXA7 CisgICAgICAgYm9vbCByaHNfYWxsX29uZXNfcCA9ICEocmhzICYgKHJocyAr IDEpKTsKKyAgICAgICB1bnNpZ25lZCBIT1NUX1dJREVfSU5UIGhpX2JpdHMg PSBtYXNrIC0gcmhzOworICAgICAgfQorICAgICAgKHN3aXRjaAorICAgICAg IChpZiAoY29kZSA9PSBMRV9FWFBSICYmIHJoc19hbGxfb25lc19wICYmIG1h c2sgPj0gcmhzKQorICAgICAgICAoZXE6dHlwZSAoYml0X2FuZCBAMSB7IGJ1 aWxkX2ludF9jc3QgKHR5LCBoaV9iaXRzKTsgfSkgeyBidWlsZF96ZXJvX2Nz dCAodHkpOyB9KSkKKyAgICAgICAoaWYgKGNvZGUgPT0gR1RfRVhQUiAmJiBy aHNfYWxsX29uZXNfcCAmJiBtYXNrID49IHJocykKKyAgICAgICAgKG5lOnR5 cGUgKGJpdF9hbmQgQDEgeyBidWlsZF9pbnRfY3N0ICh0eSwgaGlfYml0cyk7 IH0pIHsgYnVpbGRfemVyb19jc3QgKHR5KTsgfSkpKSkpKSkpKQorCiAvKiAt QSBDTVAgLUIgLT4gQiBDTVAgQS4gICovCiAoZm9yIGNtcCAodGNjX2NvbXBh cmlzb24pCiAgICAgIHNjbXAgKHN3YXBwZWRfdGNjX2NvbXBhcmlzb24pCmRp ZmYgLXJ1cE4gZ2NjLW1hc3Rlci9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1v bi9mb2xkLW1hc2tlZC1jbXAtMS5jIGdjYy1tYXN0ZXItNjczMjgvZ2NjL3Rl c3RzdWl0ZS9jLWMrKy1jb21tb24vZm9sZC1tYXNrZWQtY21wLTEuYwotLS0g YS9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9mb2xkLW1hc2tlZC1jbXAt MS5jCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKyBi L2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2ZvbGQtbWFza2VkLWNtcC0x LmMJMjAxNy0wMS0yMSAwNzoxMTo1Ny43NjUwMTk5OTkgKzAwMDAKQEAgLTAs MCArMSw0MSBAQAorLyogQmFzZWQgb24gUFIgNjczMjggKi8KKworLyogeyBk Zy1kbyBjb21waWxlIHsgdGFyZ2V0IHg4Nl82NC0qLSogfSB9ICovCisvKiB7 IGRnLW9wdGlvbnMgIi1PMiIgfSAqLworCitlbnVtIG91dHB1dF90eXBlCit7 CisgIHR5cGVfcGRlLAorICB0eXBlX3BpZSwKKyAgdHlwZV9yZWxvY2F0YWJs ZSwKKyAgdHlwZV9kbGwsCit9OworCitzdHJ1Y3QgYmZkX2xpbmtfaW5mbwor eworICBlbnVtIG91dHB1dF90eXBlIHR5cGUgOiAyOworICB1bnNpZ25lZCBp bnQgcGFkIDogMzA7Cit9OworCisjZGVmaW5lIGJmZF9saW5rX3BkZShpbmZv KQkgICAoKGluZm8pLT50eXBlID09IHR5cGVfcGRlKQorI2RlZmluZSBiZmRf bGlua19kbGwoaW5mbykJICAgKChpbmZvKS0+dHlwZSA9PSB0eXBlX2RsbCkK KyNkZWZpbmUgYmZkX2xpbmtfcmVsb2NhdGFibGUoaW5mbykgKChpbmZvKS0+ dHlwZSA9PSB0eXBlX3JlbG9jYXRhYmxlKQorI2RlZmluZSBiZmRfbGlua19w aWUoaW5mbykJICAgKChpbmZvKS0+dHlwZSA9PSB0eXBlX3BpZSkKKyNkZWZp bmUgYmZkX2xpbmtfZXhlY3V0YWJsZShpbmZvKSAgKGJmZF9saW5rX3BkZSAo aW5mbykgfHwgYmZkX2xpbmtfcGllIChpbmZvKSkKKyNkZWZpbmUgYmZkX2xp bmtfcGljKGluZm8pCSAgIChiZmRfbGlua19kbGwgKGluZm8pIHx8IGJmZF9s aW5rX3BpZSAoaW5mbykpCisKK2ludCByZXN1bHQ7CisKK2ludCB0ZXN0X2V4 ZSAoc3RydWN0IGJmZF9saW5rX2luZm8gKmluZm8pCit7CisgIGlmIChiZmRf bGlua19leGVjdXRhYmxlIChpbmZvKSkKKyAgICByZXN1bHQrKzsKK30KKwor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJ0ZXN0bj9iIiB9IH0g Ki8KZGlmZiAtcnVwTiBnY2MtbWFzdGVyL2djYy90ZXN0c3VpdGUvYy1jKyst Y29tbW9uL2ZvbGQtbWFza2VkLWNtcC0yLmMgZ2NjLW1hc3Rlci02NzMyOC9n Y2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9mb2xkLW1hc2tlZC1jbXAtMi5j Ci0tLSBhL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2ZvbGQtbWFza2Vk LWNtcC0yLmMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZm9sZC1tYXNrZWQt Y21wLTIuYwkyMDE3LTAxLTIxIDA3OjExOjU4Ljk2NTAxOTk5OSArMDAwMApA QCAtMCwwICsxLDQyIEBACisvKiBCYXNlZCBvbiBQUiA2NzMyOCAqLworCisv KiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeDg2XzY0LSotKiB9IH0gKi8K Ky8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCisKK2VudW0gb3V0cHV0X3R5 cGUKK3sKKyAgdHlwZV9wZGUsCisgIHR5cGVfcmVsb2NhdGFibGUsCisgIHR5 cGVfcGllLAorICB0eXBlX2RsbCwKK307CisKK3N0cnVjdCBiZmRfbGlua19p bmZvCit7CisgIGVudW0gb3V0cHV0X3R5cGUgdHlwZSA6IDI7CisgIHVuc2ln bmVkIGludCBwYWQgOiAzMDsKK307CisKKyNkZWZpbmUgYmZkX2xpbmtfcGRl KGluZm8pCSAgICgoaW5mbyktPnR5cGUgPT0gdHlwZV9wZGUpCisjZGVmaW5l IGJmZF9saW5rX2RsbChpbmZvKQkgICAoKGluZm8pLT50eXBlID09IHR5cGVf ZGxsKQorI2RlZmluZSBiZmRfbGlua19yZWxvY2F0YWJsZShpbmZvKSAoKGlu Zm8pLT50eXBlID09IHR5cGVfcmVsb2NhdGFibGUpCisjZGVmaW5lIGJmZF9s aW5rX3BpZShpbmZvKQkgICAoKGluZm8pLT50eXBlID09IHR5cGVfcGllKQor I2RlZmluZSBiZmRfbGlua19leGVjdXRhYmxlKGluZm8pICAoYmZkX2xpbmtf cGRlIChpbmZvKSB8fCBiZmRfbGlua19waWUgKGluZm8pKQorI2RlZmluZSBi ZmRfbGlua19waWMoaW5mbykJICAgKGJmZF9saW5rX2RsbCAoaW5mbykgfHwg YmZkX2xpbmtfcGllIChpbmZvKSkKKworaW50IHJlc3VsdDsKKworaW50IHRl c3RfZXhlIChzdHJ1Y3QgYmZkX2xpbmtfaW5mbyAqaW5mbykKK3sKKyAgaWYg KGJmZF9saW5rX2V4ZWN1dGFibGUgKGluZm8pKQorICAgIHJlc3VsdCsrOwor fQorCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgInRlc3RuP2Ii IH0gfSAqLworCg== --94eb2c07dd3e45a9810546e6b7d1--