From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3414 invoked by alias); 28 Oct 2011 00:02:03 -0000 Received: (qmail 3404 invoked by uid 22791); 28 Oct 2011 00:02:02 -0000 X-SWARE-Spam-Status: No, hits=-6.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 28 Oct 2011 00:01:42 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p9S01gf9028626 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 27 Oct 2011 20:01:42 -0400 Received: from pebble.twiddle.home (vpn-236-98.phx2.redhat.com [10.3.236.98]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p9S01fFQ025352; Thu, 27 Oct 2011 20:01:41 -0400 Message-ID: <4EA9F0E5.2070000@redhat.com> Date: Fri, 28 Oct 2011 01:44:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110928 Fedora/3.1.15-1.fc14 Thunderbird/3.1.15 MIME-Version: 1.0 To: Sergey Ostanevich CC: gcc-patches@gcc.gnu.org, "H.J. Lu" Subject: Re: [PATCH i386] PR47698 no CMOV for volatile mem References: In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit 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/msg02590.txt.bz2 On 10/27/2011 05:17 AM, Sergey Ostanevich wrote: > + /* MOVCC semantics implies that source is always read which is wrong > + for devices I/O that are defined using volatile in C. PR47698 */ > + > + if (MEM_P (operands[2]) && MEM_VOLATILE_P (operands[2])) > + return false; This looks to be at the wrong level. This fix should be tested in ifcvt.c where we attempted this. r~