From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13463 invoked by alias); 6 Jan 2013 15:48:10 -0000 Received: (qmail 13454 invoked by uid 22791); 6 Jan 2013 15:48:08 -0000 X-SWARE-Spam-Status: No, hits=-4.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_AV,TW_VZ,TW_ZJ X-Spam-Check-By: sourceware.org Received: from mail-oa0-f54.google.com (HELO mail-oa0-f54.google.com) (209.85.219.54) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 06 Jan 2013 15:48:03 +0000 Received: by mail-oa0-f54.google.com with SMTP id n9so16668142oag.27 for ; Sun, 06 Jan 2013 07:48:03 -0800 (PST) MIME-Version: 1.0 Received: by 10.60.32.235 with SMTP id m11mr33649611oei.129.1357487283368; Sun, 06 Jan 2013 07:48:03 -0800 (PST) Received: by 10.182.153.201 with HTTP; Sun, 6 Jan 2013 07:48:03 -0800 (PST) Date: Sun, 06 Jan 2013 15:48:00 -0000 Message-ID: Subject: [PATCH, dataflow]: Fix PR55845, 454.calculix miscompares on x86 AVX due to movement of vzeroupper From: Uros Bizjak To: gcc-patches@gcc.gnu.org Cc: Vladimir Yakovlev , "Kumar, Venkataramanan" Content-Type: multipart/mixed; boundary=e89a8fb1f8404ff1ef04d2a0a367 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: 2013-01/txt/msg00252.txt.bz2 --e89a8fb1f8404ff1ef04d2a0a367 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 815 Hello! Attached patch fixes runtime comparison failure of 454.calculix due to wrong movement of vzeroupper in jump2 pass. It turns out, that can_move_insns_accross function does not special-case unspec_volatiles, so vzeroupper is allowed to pass various 256bit avx instructions. The patch rejects moves of unspec_volatile insns in can_move_insn_accross. 2012-01-06 Uros Bizjak PR rtl-optimization/55845 * df-problems.c (can_move_insns_across): Stop scanning at unspec_volatile source instruction. 2012-01-06 Uros Bizjak Vladimir Yakovlev PR rtl-optimization/55845 * gcc.target/i386/pr55845.c: New test. Bootstrapped and regression tested on x86_64-pc-linux-gnu {,-m32} AVX target. OK for mainline and 4.7 branch? Uros. --e89a8fb1f8404ff1ef04d2a0a367 Content-Type: text/plain; charset=US-ASCII; name="p.diff.txt" Content-Disposition: attachment; filename="p.diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hbmcukr50 Content-length: 1891 SW5kZXg6IGRmLXByb2JsZW1zLmMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gZGYtcHJvYmxlbXMuYwkocmV2aXNpb24gMTk0OTQ1KQorKysgZGYtcHJv YmxlbXMuYwkod29ya2luZyBjb3B5KQpAQCAtMzkxNiw2ICszOTE2LDEwIEBA IGNhbl9tb3ZlX2luc25zX2Fjcm9zcyAocnR4IGZyb20sIHJ0eCB0bywgcnR4 IGFjcm9zCiAJYnJlYWs7CiAgICAgICBpZiAoTk9OREVCVUdfSU5TTl9QIChp bnNuKSkKIAl7CisJICAvKiBEbyBub3QgbW92ZSB1bnNwZWNfdm9sYXRpbGUg aW5zbnMuICAqLworCSAgaWYgKEdFVF9DT0RFIChQQVRURVJOIChpbnNuKSkg PT0gVU5TUEVDX1ZPTEFUSUxFKQorCSAgICBicmVhazsKKwogCSAgaWYgKG1h eV90cmFwX29yX2ZhdWx0X3AgKFBBVFRFUk4gKGluc24pKQogCSAgICAgICYm ICh0cmFwcGluZ19pbnNuc19pbl9hY3Jvc3MgfHwgb3RoZXJfYnJhbmNoX2xp dmUgIT0gTlVMTCkpCiAJICAgIGJyZWFrOwpJbmRleDogdGVzdHN1aXRlL2dj Yy50YXJnZXQvaTM4Ni9wcjU1ODQ1LmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0gdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU1ODQ1LmMJKHJl dmlzaW9uIDApCisrKyB0ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTU4 NDUuYwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACisvKiB7IGRn LWRvIHJ1biB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdl dCBhdnggfSAqLworLyogeyBkZy1vcHRpb25zICItTzMgLWZmYXN0LW1hdGgg LWZzY2hlZHVsZS1pbnNucyAtbWF2eCAtbXZ6ZXJvdXBwZXIiIH0gKi8KKwor I2luY2x1ZGUgImF2eC1jaGVjay5oIgorCisjZGVmaW5lIE4gMTAwCisKK2Rv dWJsZQorX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKQorZm9vIChpbnQgc2l6 ZSwgZG91YmxlIHlbXSwgZG91YmxlIHhbXSkKK3sKKyAgZG91YmxlIHN1bSA9 IDAuMDsKKyAgaW50IGk7CisgIGZvciAoaSA9IDAsIHN1bSA9IDAuOyBpIDwg c2l6ZTsgaSsrKQorICAgIHN1bSArPSB5W2ldICogeFtpXTsKKyAgcmV0dXJu IChzdW0pOworfQorCitzdGF0aWMgdm9pZAorX19hdHRyaWJ1dGVfXyAoKG5v aW5saW5lKSkKK2F2eF90ZXN0ICgpCit7CisgIGRvdWJsZSB4W05dOworICBk b3VibGUgeVtOXTsKKyAgZG91YmxlIHM7CisgIGludCBpOworCisgIGZvciAo aSA9IDA7IGkgPCBOOyBpKyspCisgICAgeworICAgICAgeFtpXSA9IGk7Cisg ICAgICB5W2ldID0gaTsKKyAgICB9CisKKyAgcyA9IGZvbyAoTiwgeSwgeCk7 CisKKyAgaWYgKHMgIT0gMzI4MzUwLjApCisgICAgYWJvcnQgKCk7Cit9Cg== --e89a8fb1f8404ff1ef04d2a0a367--