From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18077 invoked by alias); 30 Jul 2012 17:45:22 -0000 Received: (qmail 18048 invoked by uid 22791); 30 Jul 2012 17:45:19 -0000 X-SWARE-Spam-Status: No, hits=-7.0 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,SPF_HELO_PASS,T_RP_MATCHES_RCVD 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; Mon, 30 Jul 2012 17:45:07 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q6UHj4EO026376 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 30 Jul 2012 13:45:04 -0400 Received: from anchor.twiddle.home (vpn-237-48.phx2.redhat.com [10.3.237.48]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q6UHj2CJ022323; Mon, 30 Jul 2012 13:45:03 -0400 Message-ID: <5016C81E.5020709@redhat.com> Date: Mon, 30 Jul 2012 18:53:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120717 Thunderbird/14.0 MIME-Version: 1.0 To: Ulrich Weigand CC: Andreas.Krebbel@de.ibm.com, gcc-patches@gcc.gnu.org Subject: Re: [CFT] s390: Convert from sync to atomic optabs References: <201207301540.q6UFe3tk027386@d06av02.portsmouth.uk.ibm.com> In-Reply-To: <201207301540.q6UFe3tk027386@d06av02.portsmouth.uk.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 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: 2012-07/txt/msg01506.txt.bz2 On 07/30/2012 08:40 AM, Ulrich Weigand wrote: >> > I presume a good test case to examine for ICM is with such an operand >> > coming from a global. What about STCM? I don't see the output from >> > sync_compare_and_swap ever being allowed in memory... > Actually, it's only ICM that is of interest here; it should get used when > either the comparison value or the "new" value come from a memory location, > e.g. a global. Sorry, I was confused about STCM ... > Well... it turns out to be just about impossible to get this to trigger. With optimization on, the middle-end decides to promote the parameters to registers immediately, which means that we never see a MEM in the expander. With optimization off, we don't propagate enough alignment info so we never see ac.aligned = true. It does look like we could relax the MEM_P requirement for Z10, so that we use the register-based insv (RISBG). I'll give that a go... r~