From f9852578fbd1aa0dff434dda1fd1d4d17b1645fc Mon Sep 17 00:00:00 2001
From: Antonio Ospite <ospite@studenti.unina.it>
Date: Tue, 5 Nov 2013 17:57:56 +0100
Subject: [PATCH 1/1] Add an inline asm implementation of sum() for x86 CPUs

---
 inline-asm-sum.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/inline-asm-sum.c b/inline-asm-sum.c
index 4f9c2f0..a578ee7 100644
--- a/inline-asm-sum.c
+++ b/inline-asm-sum.c
@@ -21,7 +21,16 @@
 
 static int sum(int a, int b)
 {
+#if defined(__i386__) || defined(__x86_64__)
+	int ret;
+	__asm__("addl %2, %1\n\t"
+		: "=a"(ret)      /* %0 bound to %eax */
+		: "a"(a), "r"(b) /* %1 is 'a' bound to %eax, %2 is 'b' */
+		);
+	return ret;
+#else
 	return a + b;
+#endif
 }
 
 int main(void)
-- 
2.1.4