From 81c0979aa1bd53eec7f930ccbacb4a9cb2eee20b Mon Sep 17 00:00:00 2001 From: Manuel Traut Date: Wed, 30 May 2012 04:03:58 +0200 Subject: pthread_locking vs. transactional memory testsuite initial import includes - Makefile - codesize.c; a little single threaded test to check compiler support - asm_diff.sh shows difference of assembler code - runtime.sh runs both versions and prints out runtime of the tests Signed-off-by: Manuel Traut --- codesize.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 codesize.c (limited to 'codesize.c') diff --git a/codesize.c b/codesize.c new file mode 100644 index 0000000..960757c --- /dev/null +++ b/codesize.c @@ -0,0 +1,23 @@ +#ifdef _TM +#define LOCK __transaction_atomic { +#define UNLOCK } +#endif + +#ifdef _LOCK +#include +static pthread_mutex_t l = PTHREAD_MUTEX_INITIALIZER; +#define LOCK pthread_mutex_lock (&l); +#define UNLOCK pthread_mutex_unlock (&l); +#endif + +int main (int argc, char **argv) +{ + int a = 0, b = 1, c = 2; + + LOCK + if (a < b) + c++; + UNLOCK + + return 0; +} -- cgit v1.2.3