diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h
index c261b7d33de58e6bf552d7a7db3dfc348e3ead66..90ff69091b832943eb7166c8280e361dbe7015f0 100644
--- a/include/asterisk/lock.h
+++ b/include/asterisk/lock.h
@@ -785,7 +785,7 @@ AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
 AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
 {
 	return OSAtomicAdd64(v, (int64_t *) p);
-#elif defined (__i386__)
+#elif defined (__i386__) || defined(__x86_64__)
 AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
 {
 	__asm __volatile (
diff --git a/utils/extconf.c b/utils/extconf.c
index 1df26da075ae4e32a2515739ebbb0e2499cbe008..05521138140f5ac945e48d07b390adf0560cb719 100644
--- a/utils/extconf.c
+++ b/utils/extconf.c
@@ -1570,7 +1570,7 @@ AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
 AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
 {
 	return OSAtomicAdd64(v, (int64_t *) p);
-#elif defined (__i386__)
+#elif defined (__i386__) || defined(__x86_64__)
 AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
 {
 	__asm __volatile (