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.

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;

Thanks. :)
--
Patrick.

Reply via email to