From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15428 invoked by alias); 4 Oct 2011 22:19:16 -0000 Received: (qmail 15420 invoked by uid 22791); 4 Oct 2011 22:19:15 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-vx0-f175.google.com (HELO mail-vx0-f175.google.com) (209.85.220.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 04 Oct 2011 22:18:52 +0000 Received: by vcbfl17 with SMTP id fl17so1000852vcb.20 for ; Tue, 04 Oct 2011 15:18:51 -0700 (PDT) Received: by 10.52.114.68 with SMTP id je4mr455500vdb.232.1317766731128; Tue, 04 Oct 2011 15:18:51 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.150.13 with HTTP; Tue, 4 Oct 2011 15:18:31 -0700 (PDT) From: Artem Shinkarov Date: Tue, 04 Oct 2011 22:25:00 -0000 Message-ID: Subject: New warning for expanded vector operations To: GCC Patches Content-Type: multipart/mixed; boundary=bcaec5486354e7e08904ae80797a X-IsSubscribed: yes 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-10/txt/msg00283.txt.bz2 --bcaec5486354e7e08904ae80797a Content-Type: text/plain; charset=ISO-8859-1 Content-length: 689 Hi Here is a patch to inform a programmer about the expanded vector operation. Bootstrapped on x86-unknown-linux-gnu. ChangeLog: * gcc/tree-vect-generic.c (expand_vector_piecewise): Adjust to produce the warning. (expand_vector_parallel): Adjust to produce the warning. (lower_vec_shuffle): Adjust to produce the warning. * gcc/common.opt: New warning Wvector-operation-expanded. * gcc/doc/invoke.texi: Document the wawning. Ok? Thanks, Artem Shinkarov. P.S. It is hard to write a reasonable testcase for the patch, because one needs to guess which architecture would expand a given vector operation. But the patch is trivial. --bcaec5486354e7e08904ae80797a Content-Type: text/plain; charset=US-ASCII; name="vector-op-warning.diff" Content-Disposition: attachment; filename="vector-op-warning.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gtdg4ott0 Content-length: 5800 SW5kZXg6IGdjYy90cmVlLXZlY3QtZ2VuZXJpYy5jCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy90cmVlLXZlY3QtZ2VuZXJpYy5jCShyZXZpc2lv biAxNzk0NjQpCisrKyBnY2MvdHJlZS12ZWN0LWdlbmVyaWMuYwkod29ya2lu ZyBjb3B5KQpAQCAtMjM1LDYgKzIzNSwxMCBAQCBleHBhbmRfdmVjdG9yX3Bp ZWNld2lzZSAoZ2ltcGxlX3N0bXRfaXRlCiAgIGludCBkZWx0YSA9IHRyZWVf bG93X2NzdCAocGFydF93aWR0aCwgMSkKIAkgICAgICAvIHRyZWVfbG93X2Nz dCAoVFlQRV9TSVpFIChUUkVFX1RZUEUgKHR5cGUpKSwgMSk7CiAgIGludCBp OworICBsb2NhdGlvbl90IGxvYyA9IGdpbXBsZV9sb2NhdGlvbiAoZ3NpX3N0 bXQgKCpnc2kpKTsKKworICB3YXJuaW5nX2F0IChsb2MsIE9QVF9XdmVjdG9y X29wZXJhdGlvbl9leHBhbmRlZCwKKwkgICAgICAidmVjdG9yIG9wZXJhdGlv biB3aWxsIGJlIGV4cGFuZGVkIHBpZWNld2lzZSIpOwogCiAgIHYgPSBWRUNf YWxsb2MoY29uc3RydWN0b3JfZWx0LCBnYywgKG51bml0cyArIGRlbHRhIC0g MSkgLyBkZWx0YSk7CiAgIGZvciAoaSA9IDA7IGkgPCBudW5pdHM7CkBAIC0y NjAsNiArMjY0LDEwIEBAIGV4cGFuZF92ZWN0b3JfcGFyYWxsZWwgKGdpbXBs ZV9zdG10X2l0ZXIKICAgdHJlZSByZXN1bHQsIGNvbXB1dGVfdHlwZTsKICAg ZW51bSBtYWNoaW5lX21vZGUgbW9kZTsKICAgaW50IG5fd29yZHMgPSB0cmVl X2xvd19jc3QgKFRZUEVfU0laRV9VTklUICh0eXBlKSwgMSkgLyBVTklUU19Q RVJfV09SRDsKKyAgbG9jYXRpb25fdCBsb2MgPSBnaW1wbGVfbG9jYXRpb24g KGdzaV9zdG10ICgqZ3NpKSk7CisKKyAgd2FybmluZ19hdCAobG9jLCBPUFRf V3ZlY3Rvcl9vcGVyYXRpb25fZXhwYW5kZWQsCisJICAgICAgInZlY3RvciBv cGVyYXRpb24gd2lsbCBiZSBleHBhbmRlZCBpbiBwYXJhbGxlbCIpOwogCiAg IC8qIFdlIGhhdmUgdGhyZWUgc3RyYXRlZ2llcy4gIElmIHRoZSB0eXBlIGlz IGFscmVhZHkgY29ycmVjdCwganVzdCBkbwogICAgICB0aGUgb3BlcmF0aW9u IGFuIGVsZW1lbnQgYXQgYSB0aW1lLiAgRWxzZSwgaWYgdGhlIHZlY3RvciBp cyB3aWRlciB0aGFuCkBAIC0zMDEsMTYgKzMwOSwxNSBAQCBleHBhbmRfdmVj dG9yX2FkZGl0aW9uIChnaW1wbGVfc3RtdF9pdGVyCiB7CiAgIGludCBwYXJ0 c19wZXJfd29yZCA9IFVOSVRTX1BFUl9XT1JECiAJICAJICAgICAgIC8gdHJl ZV9sb3dfY3N0IChUWVBFX1NJWkVfVU5JVCAoVFJFRV9UWVBFICh0eXBlKSks IDEpOworICBsb2NhdGlvbl90IGxvYyA9IGdpbXBsZV9sb2NhdGlvbiAoZ3Np X3N0bXQgKCpnc2kpKTsKIAogICBpZiAoSU5URUdSQUxfVFlQRV9QIChUUkVF X1RZUEUgKHR5cGUpKQogICAgICAgJiYgcGFydHNfcGVyX3dvcmQgPj0gNAog ICAgICAgJiYgVFlQRV9WRUNUT1JfU1VCUEFSVFMgKHR5cGUpID49IDQpCi0g ICAgcmV0dXJuIGV4cGFuZF92ZWN0b3JfcGFyYWxsZWwgKGdzaSwgZl9wYXJh bGxlbCwKLQkJCQkgICB0eXBlLCBhLCBiLCBjb2RlKTsKKyAgICByZXR1cm4g ZXhwYW5kX3ZlY3Rvcl9wYXJhbGxlbCAoZ3NpLCBmX3BhcmFsbGVsLCB0eXBl LCBhLCBiLCBjb2RlKTsKICAgZWxzZQotICAgIHJldHVybiBleHBhbmRfdmVj dG9yX3BpZWNld2lzZSAoZ3NpLCBmLAotCQkJCSAgICB0eXBlLCBUUkVFX1RZ UEUgKHR5cGUpLAotCQkJCSAgICBhLCBiLCBjb2RlKTsKKyAgICByZXR1cm4g ZXhwYW5kX3ZlY3Rvcl9waWVjZXdpc2UgKGdzaSwgZiwgdHlwZSwKKwkJCQkg ICAgVFJFRV9UWVBFICh0eXBlKSwgYSwgYiwgY29kZSk7CiB9CiAKIC8qIENo ZWNrIGlmIHZlY3RvciBWRUMgY29uc2lzdHMgb2YgYWxsIHRoZSBlcXVhbCBl bGVtZW50cyBhbmQKQEAgLTQwMCw4ICs0MDcsOCBAQCBleHBhbmRfdmVjdG9y X29wZXJhdGlvbiAoZ2ltcGxlX3N0bXRfaXRlCiAgICAgICBjYXNlIFBMVVNf RVhQUjoKICAgICAgIGNhc2UgTUlOVVNfRVhQUjoKICAgICAgICAgaWYgKCFU WVBFX09WRVJGTE9XX1RSQVBTICh0eXBlKSkKLSAgICAgICAgICByZXR1cm4g ZXhwYW5kX3ZlY3Rvcl9hZGRpdGlvbiAoZ3NpLCBkb19iaW5vcCwgZG9fcGx1 c19taW51cywgdHlwZSwKLQkJICAgICAgCQkgICAgICAgICBnaW1wbGVfYXNz aWduX3JoczEgKGFzc2lnbiksCisJICByZXR1cm4gZXhwYW5kX3ZlY3Rvcl9h ZGRpdGlvbiAoZ3NpLCBkb19iaW5vcCwgZG9fcGx1c19taW51cywgdHlwZSwK KwkJCQkJIGdpbXBsZV9hc3NpZ25fcmhzMSAoYXNzaWduKSwKIAkJCQkJIGdp bXBsZV9hc3NpZ25fcmhzMiAoYXNzaWduKSwgY29kZSk7CiAJYnJlYWs7CiAK QEAgLTYyMiw2ICs2MjksOCBAQCBsb3dlcl92ZWNfc2h1ZmZsZSAoZ2ltcGxl X3N0bXRfaXRlcmF0b3IKICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAor ICB3YXJuaW5nX2F0IChsb2MsIE9QVF9XdmVjdG9yX29wZXJhdGlvbl9leHBh bmRlZCwKKwkgICAgICAidmVjdG9yIHNodWZmbGluZyBvcGVyYXRpb24gd2ls bCBiZSBleHBhbmRlZCBwaWVjZXdpc2UiKTsKICAgaWYgKG9wZXJhbmRfZXF1 YWxfcCAodmVjMCwgdmVjMSwgMCkpCiAgICAgewogICAgICAgdW5zaWduZWQg aTsKSW5kZXg6IGdjYy9jb21tb24ub3B0Cj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIGdjYy9jb21tb24ub3B0CShyZXZpc2lvbiAxNzk0NjQpCisrKyBn Y2MvY29tbW9uLm9wdAkod29ya2luZyBjb3B5KQpAQCAtNjk0LDYgKzY5NCwx MCBAQCBXY292ZXJhZ2UtbWlzbWF0Y2gKIENvbW1vbiBWYXIod2Fybl9jb3Zl cmFnZV9taXNtYXRjaCkgSW5pdCgxKSBXYXJuaW5nCiBXYXJuIGluIGNhc2Ug cHJvZmlsZXMgaW4gLWZwcm9maWxlLXVzZSBkbyBub3QgbWF0Y2gKIAorV3Zl Y3Rvci1vcGVyYXRpb24tZXhwYW5kZWQKK0NvbW1vbiBWYXIod2Fybl92ZWN0 b3Jfb3BlcmF0aW9uX2V4cGFuZGVkKSBXYXJuaW5nCitXYXJuIHdoZW4gYSB2 ZWN0b3Igb3BlcmF0aW9uIGlzIGV4cGFuZGVkIHBpZWNld2lzZQorCiBYYXNz ZW1ibGVyCiBEcml2ZXIgU2VwYXJhdGUKIApJbmRleDogZ2NjL2RvYy9pbnZv a2UudGV4aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvZG9jL2lu dm9rZS50ZXhpCShyZXZpc2lvbiAxNzk0NjQpCisrKyBnY2MvZG9jL2ludm9r ZS50ZXhpCSh3b3JraW5nIGNvcHkpCkBAIC0yNzEsNyArMjcxLDggQEAgT2Jq ZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVjdHN9LgogLVd1bnVz ZWQtbGFiZWwgIC1XdW51c2VkLWxvY2FsLXR5cGVkZWZzIC1XdW51c2VkLXBh cmFtZXRlciBAZ29sCiAtV25vLXVudXNlZC1yZXN1bHQgLVd1bnVzZWQtdmFs dWUgQGdvbCAtV3VudXNlZC12YXJpYWJsZSBAZ29sCiAtV3VudXNlZC1idXQt c2V0LXBhcmFtZXRlciAtV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlIEBnb2wK LS1XdmFyaWFkaWMtbWFjcm9zIC1XdmxhIC1Xdm9sYXRpbGUtcmVnaXN0ZXIt dmFyICAtV3dyaXRlLXN0cmluZ3N9CistV3ZhcmlhZGljLW1hY3JvcyAtV3Zl Y3Rvci1vcGVyYXRpb24tZXhwYW5kZWQgLVd2bGEgCistV3ZvbGF0aWxlLXJl Z2lzdGVyLXZhciAgLVd3cml0ZS1zdHJpbmdzfQogCiBAaXRlbSBDIGFuZCBP YmplY3RpdmUtQy1vbmx5IFdhcm5pbmcgT3B0aW9ucwogQGdjY29wdGxpc3R7 LVdiYWQtZnVuY3Rpb24tY2FzdCAgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyBA Z29sCkBAIC00NTMyLDYgKzQ1MzMsMTIgQEAgV2FybiBpZiB2YXJpYWRpYyBt YWNyb3MgYXJlIHVzZWQgaW4gcGVkYQogYWx0ZXJuYXRlIHN5bnRheCB3aGVu IGluIHBlZGFudGljIElTTyBDOTkgbW9kZS4gIFRoaXMgaXMgZGVmYXVsdC4K IFRvIGluaGliaXQgdGhlIHdhcm5pbmcgbWVzc2FnZXMsIHVzZSBAb3B0aW9u ey1Xbm8tdmFyaWFkaWMtbWFjcm9zfS4KIAorQGl0ZW0gLVd2ZWN0b3Itb3Bl cmF0aW9uLWV4cGFuZGVkCitAb3BpbmRleCBXdmVjdG9yLW9wZXJhdGlvbi1l eHBhbmRlZAorQG9waW5kZXggV25vLXZlY3Rvci1vcGVyYXRpb24tZXhwYW5k ZWQKK1dhcm4gaWYgdmVjdG9yIG9wZXJhdGlvbiBpcyBub3QgaW1wbGVtZW50 ZWQgdmlhIFNJTUQgY2FwYWJpbGl0aWVzIG9mIHRoZQorYXJjaGl0ZWN0dXJl LiBNYWlubHkgdXNlZnVsIGZvciB0aGUgcGVyZm9ybWFuY2UgdHVuaW5nLgor CiBAaXRlbSAtV3ZsYQogQG9waW5kZXggV3ZsYQogQG9waW5kZXggV25vLXZs YQo= --bcaec5486354e7e08904ae80797a--