From patchwork Wed Jan 18 21:16:43 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Patrick Marlier X-Patchwork-Id: 136695 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 91185B6EFE for ; Thu, 19 Jan 2012 08:17:03 +1100 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1327526224; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Received:Message-ID:Date:From:User-Agent:MIME-Version:To:CC: Subject:References:In-Reply-To:Content-Type: Content-Transfer-Encoding:Mailing-List:Precedence:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:Sender: Delivered-To; bh=zfuOHwd/xDPFtJtFYw+Oc8Gi1/k=; b=mmjzf+TDRb6FTG0 wMYlLDRwYu6G6ao2B5zwnRQG0uQsI8XOowmnxbr6jxtNWSBvdmSovqO1nN9lVW0o gurut1VQkcMkL9NxStSGG3pCWX0AXe24N/wrPUFvZNXJrLBimIlK5rrffRle07fg GW7QiwfUXYfwXElk0ciLoisRy14I= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=vgcu1vponZkk71/xekzqG0/BknxA1NB3MztZ6k+u159XYGwyN4q9qYU7O/BIsb 0OZ7261d0YHBxk8l0+B52KY/M4R6hDZiEbF2mBtGv1jLLmZ/JqFPvftYotwr9GE2 tnf5l0PUH8zbZnWeM5rINU3Wwo6V8V4ZYux/43PUvf6SE=; Received: (qmail 18170 invoked by alias); 18 Jan 2012 21:16:59 -0000 Received: (qmail 18161 invoked by uid 22791); 18 Jan 2012 21:16:59 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, TW_ZJ X-Spam-Check-By: sourceware.org Received: from mail-qy0-f175.google.com (HELO mail-qy0-f175.google.com) (209.85.216.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 18 Jan 2012 21:16:46 +0000 Received: by qcsp14 with SMTP id p14so2994232qcs.20 for ; Wed, 18 Jan 2012 13:16:45 -0800 (PST) Received: by 10.224.198.3 with SMTP id em3mr8472591qab.23.1326921405362; Wed, 18 Jan 2012 13:16:45 -0800 (PST) Received: from d01.cs.rochester.edu (d01.cs.rochester.edu. [128.151.67.209]) by mx.google.com with ESMTPS id gw6sm3260214qab.1.2012.01.18.13.16.43 (version=SSLv3 cipher=OTHER); Wed, 18 Jan 2012 13:16:44 -0800 (PST) Message-ID: <4F1736BB.5080500@gmail.com> Date: Wed, 18 Jan 2012 16:16:43 -0500 From: Patrick Marlier User-Agent: Mozilla/5.0 (X11; Linux i686; rv:8.0) Gecko/20111115 Thunderbird/8.0 MIME-Version: 1.0 To: Uros Bizjak CC: gcc-patches@gcc.gnu.org, Richard Henderson , Aldy Hernandez , Torvald Riegel Subject: Re: [PATCH, trans-mem]: Fix PR51830, FAIL: libitm.c/mem(cpy|set)-1.c execution test on x86_32 References: <4F172139.7070204@gmail.com> In-Reply-To: X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org On 01/18/2012 03:35 PM, Uros Bizjak wrote: > Please note that all recent x86 processors implement store forwarding, > so passing arguments through memory is mostly a non-issue nowadays. Ok. Thanks :) > IMO, whatever the future decision would be, we shouldn't leave one > part of the compiler out-of-sync from the other. Proposed patch fixes > _current_ situation, where in the future, it is expected that compiler > and library changes in sync... So in order to keep them in sync, this should be also applied to libitm if your solution is chosen (At least to avoid confusion). If the Intel TM-ABI (no idea what's the status of this specification) specifies variadic function and regparm, it should be changed too. Thanks. :) --- Patrick. Index: libitm.h =================================================================== --- libitm.h (revision 183273) +++ libitm.h (working copy) @@ -136,7 +136,7 @@ typedef uint64_t _ITM_transactionId_t; /* Transact extern _ITM_transactionId_t _ITM_getTransactionId(void) ITM_REGPARM; -extern uint32_t _ITM_beginTransaction(uint32_t, ...) ITM_REGPARM; +extern uint32_t _ITM_beginTransaction(uint32_t, ...); extern void _ITM_abortTransaction(_ITM_abortReason) ITM_REGPARM ITM_NORETURN;