From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26247 invoked by alias); 19 Aug 2011 06:54:03 -0000 Received: (qmail 26238 invoked by uid 22791); 19 Aug 2011 06:54:02 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00,SARE_SUB_6CONS_WORD,TW_CX,TW_PX X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 19 Aug 2011 06:53:47 +0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/50123] cmpxchg generated for atomic and with zero/or with -1 Date: Fri, 19 Aug 2011 07:29:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: CC Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2011-08/txt/msg01639.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50123 Jakub Jelinek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aldyh at gcc dot gnu.org, | |amacleod at redhat dot com, | |jakub at gcc dot gnu.org --- Comment #1 from Jakub Jelinek 2011-08-19 06:53:18 UTC --- While we could do this on i?86/x86_64 now, it sounds better to do it in the generic code (folding or expansion), but for that we need to wait for the extended sync builtins that are currently brewing on cxx-mem-model branch (because __sync_fetch_and_{and,or} are full barriers, while __sync_test_and_set is not).