From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29882 invoked by alias); 7 Apr 2011 07:42:40 -0000 Received: (qmail 29872 invoked by uid 22791); 7 Apr 2011 07:42:39 -0000 X-SWARE-Spam-Status: No, hits=-2.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-gy0-f175.google.com (HELO mail-gy0-f175.google.com) (209.85.160.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 07 Apr 2011 07:42:34 +0000 Received: by gyf1 with SMTP id 1so1272034gyf.20 for ; Thu, 07 Apr 2011 00:42:33 -0700 (PDT) MIME-Version: 1.0 Received: by 10.151.12.7 with SMTP id p7mr468143ybi.144.1302162153455; Thu, 07 Apr 2011 00:42:33 -0700 (PDT) Received: by 10.150.197.13 with HTTP; Thu, 7 Apr 2011 00:42:33 -0700 (PDT) Date: Thu, 07 Apr 2011 07:42:00 -0000 Message-ID: Subject: [patch, ARM] Fix PR target/48252 From: Ira Rosen To: gcc-patches@gcc.gnu.org Cc: Patch Tracking , Ulrich Weigand Content-Type: multipart/mixed; boundary=000e0cd6acd298c08a04a04f4024 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 X-SW-Source: 2011-04/txt/msg00534.txt.bz2 --000e0cd6acd298c08a04a04f4024 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 850 Hi, This patch makes both outputs of neon_vzip/vuzp/vtrn_internal explicitly dependent on both inputs, preventing incorrect optimization: for (a,b)<- vzip (c,d) and (e,f) <- vzip (g,d) CSE decides that b==f, since b and f depend only on d. Tested on arm-linux-gnueabi. OK for trunk? OK for 4.6 after testing? Thanks, Ira ChangeLog: 2011-04-07 Ulrich Weigand Ira Rosen PR target/48252 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments to match neon_vzip/vuzp/vtrn_internal. * config/arm/neon.md (neon_vtrn_internal): Make both outputs explicitly dependent on both inputs. (neon_vzip_internal, neon_vuzp_internal): Likewise. testsuite/Changelog: PR target/48252 * gcc.target/arm/pr48252.c: New test. --000e0cd6acd298c08a04a04f4024 Content-Type: text/plain; charset=US-ASCII; name="vzip.txt" Content-Disposition: attachment; filename="vzip.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gm7dk8520 Content-length: 6064 SW5kZXg6IHRlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9wcjQ4MjUyLmMKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2djYy50YXJnZXQv YXJtL3ByNDgyNTIuYwkocmV2aXNpb24gMCkKKysrIHRlc3RzdWl0ZS9nY2Mu dGFyZ2V0L2FybS9wcjQ4MjUyLmMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs MzEgQEAKKy8qIHsgZGctZG8gcnVuIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1l ZmZlY3RpdmUtdGFyZ2V0IGFybV9uZW9uX2h3IH0gKi8KKy8qIHsgZGctb3B0 aW9ucyAiLU8yIiB9ICovCisvKiB7IGRnLWFkZC1vcHRpb25zIGFybV9uZW9u IH0gKi8KKworI2luY2x1ZGUgImFybV9uZW9uLmgiCisjaW5jbHVkZSA8c3Rk bGliLmg+CisKK2ludCBtYWluKHZvaWQpCit7CisgICAgdWludDh4OF90IHYx ID0gezEsIDEsIDEsIDEsIDEsIDEsIDEsIDF9OworICAgIHVpbnQ4eDhfdCB2 MiA9IHsyLCAyLCAyLCAyLCAyLCAyLCAyLCAyfTsKKyAgICB1aW50OHg4eDJf dCB2ZDEsIHZkMjsKKyAgICB1bmlvbiB7dWludDh4OF90IHY7IHVpbnQ4X3Qg YnVmWzhdO30gZDEsIGQyLCBkMywgZDQ7CisgICAgaW50IGk7CisKKyAgICB2 ZDEgPSB2emlwX3U4KHYxLCB2ZHVwX25fdTgoMCkpOworICAgIHZkMiA9IHZ6 aXBfdTgodjIsIHZkdXBfbl91OCgwKSk7CisKKyAgICB2c3QxX3U4KGQxLmJ1 ZiwgdmQxLnZhbFswXSk7CisgICAgdnN0MV91OChkMi5idWYsIHZkMS52YWxb MV0pOworICAgIHZzdDFfdTgoZDMuYnVmLCB2ZDIudmFsWzBdKTsKKyAgICB2 c3QxX3U4KGQ0LmJ1ZiwgdmQyLnZhbFsxXSk7CisKKyAgICBmb3IgKGkgPSAw OyBpIDwgODsgaSsrKQorICAgICAgaWYgKChpICUgMiA9PSAwICYmIGQ0LmJ1 ZltpXSAhPSAyKQorICAgICAgICAgIHx8IChpICUgMiA9PSAxICYmIGQ0LmJ1 ZltpXSAhPSAwKSkKKyAgICAgICAgIGFib3J0ICgpOworCisgICAgcmV0dXJu IDA7Cit9CkluZGV4OiBjb25maWcvYXJtL2FybS5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGNvbmZpZy9hcm0vYXJtLmMJKHJldmlzaW9uIDE3MjAx OSkKKysrIGNvbmZpZy9hcm0vYXJtLmMJKHdvcmtpbmcgY29weSkKQEAgLTE5 NTkzLDcgKzE5NTkzLDcgQEAgbmVvbl9lbWl0X3BhaXJfcmVzdWx0X2luc24g KGVudW0gbWFjaGluZQogICBydHggdG1wMSA9IGdlbl9yZWdfcnR4IChtb2Rl KTsKICAgcnR4IHRtcDIgPSBnZW5fcmVnX3J0eCAobW9kZSk7CiAKLSAgZW1p dF9pbnNuIChpbnRmbiAodG1wMSwgb3AxLCB0bXAyLCBvcDIpKTsKKyAgZW1p dF9pbnNuIChpbnRmbiAodG1wMSwgb3AxLCBvcDIsIHRtcDIpKTsKIAogICBl bWl0X21vdmVfaW5zbiAobWVtLCB0bXAxKTsKICAgbWVtID0gYWRqdXN0X2Fk ZHJlc3MgKG1lbSwgbW9kZSwgR0VUX01PREVfU0laRSAobW9kZSkpOwpJbmRl eDogY29uZmlnL2FybS9uZW9uLm1kCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIGNvbmZpZy9hcm0vbmVvbi5tZAkocmV2aXNpb24gMTcyMDE5KQorKysg Y29uZmlnL2FybS9uZW9uLm1kCSh3b3JraW5nIGNvcHkpCkBAIC00MDkyLDEz ICs0MDkyLDE0IEBACiAKIChkZWZpbmVfaW5zbiAibmVvbl92dHJuPG1vZGU+ X2ludGVybmFsIgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWRFFXIDAgInNf cmVnaXN0ZXJfb3BlcmFuZCIgIj13IikKLQkodW5zcGVjOlZEUVcgWyhtYXRj aF9vcGVyYW5kOlZEUVcgMSAic19yZWdpc3Rlcl9vcGVyYW5kIiAiMCIpXQot CQkgICAgIFVOU1BFQ19WVFJOMSkpCi0gICAoc2V0IChtYXRjaF9vcGVyYW5k OlZEUVcgMiAic19yZWdpc3Rlcl9vcGVyYW5kIiAiPXciKQotICAgICAgICAo dW5zcGVjOlZEUVcgWyhtYXRjaF9vcGVyYW5kOlZEUVcgMyAic19yZWdpc3Rl cl9vcGVyYW5kIiAiMiIpXQotCQkgICAgIFVOU1BFQ19WVFJOMikpXQorICAg ICAgICAodW5zcGVjOlZEUVcgWyhtYXRjaF9vcGVyYW5kOlZEUVcgMSAic19y ZWdpc3Rlcl9vcGVyYW5kIiAiMCIpCisgICAgICAgICAgICAgICAgICAgICAg KG1hdGNoX29wZXJhbmQ6VkRRVyAyICJzX3JlZ2lzdGVyX29wZXJhbmQiICJ3 IildCisgICAgICAgICAgICAgICAgICAgICBVTlNQRUNfVlRSTjEpKQorICAg KHNldCAobWF0Y2hfb3BlcmFuZDpWRFFXIDMgInNfcmVnaXN0ZXJfb3BlcmFu ZCIgIj0yIikKKyAgICAgICAgICh1bnNwZWM6VkRRVyBbKG1hdGNoX2R1cCAx KSAobWF0Y2hfZHVwIDIpXQorICAgICAgICAgICAgICAgICAgICAgVU5TUEVD X1ZUUk4yKSldCiAgICJUQVJHRVRfTkVPTiIKLSAgInZ0cm4uPFZfc3pfZWxl bT5cdCU8Vl9yZWc+MCwgJTxWX3JlZz4yIgorICAidnRybi48Vl9zel9lbGVt Plx0JTxWX3JlZz4wLCAlPFZfcmVnPjMiCiAgIFsoc2V0IChhdHRyICJuZW9u X3R5cGUiKQogICAgICAgKGlmX3RoZW5fZWxzZSAobmUgKHN5bWJvbF9yZWYg IjxJc19kX3JlZz4iKSAoY29uc3RfaW50IDApKQogICAgICAgICAgICAgICAg ICAgICAoY29uc3Rfc3RyaW5nICJuZW9uX2JwX3NpbXBsZSIpCkBAIC00MTE4 LDEzICs0MTE5LDE0IEBACiAKIChkZWZpbmVfaW5zbiAibmVvbl92emlwPG1v ZGU+X2ludGVybmFsIgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWRFFXIDAg InNfcmVnaXN0ZXJfb3BlcmFuZCIgIj13IikKLQkodW5zcGVjOlZEUVcgWyht YXRjaF9vcGVyYW5kOlZEUVcgMSAic19yZWdpc3Rlcl9vcGVyYW5kIiAiMCIp XQotCQkgICAgIFVOU1BFQ19WWklQMSkpCi0gICAoc2V0IChtYXRjaF9vcGVy YW5kOlZEUVcgMiAic19yZWdpc3Rlcl9vcGVyYW5kIiAiPXciKQotICAgICAg ICAodW5zcGVjOlZEUVcgWyhtYXRjaF9vcGVyYW5kOlZEUVcgMyAic19yZWdp c3Rlcl9vcGVyYW5kIiAiMiIpXQotCQkgICAgIFVOU1BFQ19WWklQMikpXQor ICAgICAgICAodW5zcGVjOlZEUVcgWyhtYXRjaF9vcGVyYW5kOlZEUVcgMSAi c19yZWdpc3Rlcl9vcGVyYW5kIiAiMCIpCisgICAgICAgICAgICAgICAgICAg ICAgKG1hdGNoX29wZXJhbmQ6VkRRVyAyICJzX3JlZ2lzdGVyX29wZXJhbmQi ICJ3IildCisgICAgICAgICAgICAgICAgICAgICBVTlNQRUNfVlpJUDEpKQor ICAgKHNldCAobWF0Y2hfb3BlcmFuZDpWRFFXIDMgInNfcmVnaXN0ZXJfb3Bl cmFuZCIgIj0yIikKKyAgICAgICAgKHVuc3BlYzpWRFFXIFsobWF0Y2hfZHVw IDEpIChtYXRjaF9kdXAgMildCisgICAgICAgICAgICAgICAgICAgICBVTlNQ RUNfVlpJUDIpKV0KICAgIlRBUkdFVF9ORU9OIgotICAidnppcC48Vl9zel9l bGVtPlx0JTxWX3JlZz4wLCAlPFZfcmVnPjIiCisgICJ2emlwLjxWX3N6X2Vs ZW0+XHQlPFZfcmVnPjAsICU8Vl9yZWc+MyIKICAgWyhzZXQgKGF0dHIgIm5l b25fdHlwZSIpCiAgICAgICAoaWZfdGhlbl9lbHNlIChuZSAoc3ltYm9sX3Jl ZiAiPElzX2RfcmVnPiIpIChjb25zdF9pbnQgMCkpCiAgICAgICAgICAgICAg ICAgICAgIChjb25zdF9zdHJpbmcgIm5lb25fYnBfc2ltcGxlIikKQEAgLTQx NDQsMTMgKzQxNDYsMTQgQEAKIAogKGRlZmluZV9pbnNuICJuZW9uX3Z1enA8 bW9kZT5faW50ZXJuYWwiCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZEUVcg MCAic19yZWdpc3Rlcl9vcGVyYW5kIiAiPXciKQotCSh1bnNwZWM6VkRRVyBb KG1hdGNoX29wZXJhbmQ6VkRRVyAxICJzX3JlZ2lzdGVyX29wZXJhbmQiICIw IildCisgICAgICAgICh1bnNwZWM6VkRRVyBbKG1hdGNoX29wZXJhbmQ6VkRR VyAxICJzX3JlZ2lzdGVyX29wZXJhbmQiICIwIikKKyAgICAgICAgICAgICAg ICAgICAgICAobWF0Y2hfb3BlcmFuZDpWRFFXIDIgInNfcmVnaXN0ZXJfb3Bl cmFuZCIgInciKV0KICAgICAgICAgICAgICAgICAgICAgIFVOU1BFQ19WVVpQ MSkpCi0gICAoc2V0IChtYXRjaF9vcGVyYW5kOlZEUVcgMiAic19yZWdpc3Rl cl9vcGVyYW5kIiAiPXciKQotICAgICAgICAodW5zcGVjOlZEUVcgWyhtYXRj aF9vcGVyYW5kOlZEUVcgMyAic19yZWdpc3Rlcl9vcGVyYW5kIiAiMiIpXQot CQkgICAgIFVOU1BFQ19WVVpQMikpXQorICAgKHNldCAobWF0Y2hfb3BlcmFu ZDpWRFFXIDMgInNfcmVnaXN0ZXJfb3BlcmFuZCIgIj0yIikKKyAgICAgICAg KHVuc3BlYzpWRFFXIFsobWF0Y2hfZHVwIDEpIChtYXRjaF9kdXAgMildCisg ICAgICAgICAgICAgICAgICAgICBVTlNQRUNfVlVaUDIpKV0KICAgIlRBUkdF VF9ORU9OIgotICAidnV6cC48Vl9zel9lbGVtPlx0JTxWX3JlZz4wLCAlPFZf cmVnPjIiCisgICJ2dXpwLjxWX3N6X2VsZW0+XHQlPFZfcmVnPjAsICU8Vl9y ZWc+MyIKICAgWyhzZXQgKGF0dHIgIm5lb25fdHlwZSIpCiAgICAgICAoaWZf dGhlbl9lbHNlIChuZSAoc3ltYm9sX3JlZiAiPElzX2RfcmVnPiIpIChjb25z dF9pbnQgMCkpCiAgICAgICAgICAgICAgICAgICAgIChjb25zdF9zdHJpbmcg Im5lb25fYnBfc2ltcGxlIikK --000e0cd6acd298c08a04a04f4024--