This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[committed] TILE-Gx/TILEPro: define __GCC_HAVE_SYNX_COMPARE_AND_SWAP_<n>
- From: Walter Lee <walt at tilera dot com>
- To: <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 25 Jan 2014 15:50:10 -0500
- Subject: [committed] TILE-Gx/TILEPro: define __GCC_HAVE_SYNX_COMPARE_AND_SWAP_<n>
- Authentication-results: sourceware.org; auth=none
- Reply-to: Walter Lee <walt at tilera dot com>
The patch defines __GCC_HAVE_SYNX_COMPARE_AND_SWAP_<n> for those that
are provided in libgcc.
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3a84318..5d7adb7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,12 @@
2014-01-25 Walter Lee <walt@tilera.com>
+ * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
+ Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
+ * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
+ Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
+
+2014-01-25 Walter Lee <walt@tilera.com>
+
* config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
arguments on even registers.
(tilegx_function_arg_advance): Ditto.
diff --git a/gcc/config/tilegx/tilegx-c.c b/gcc/config/tilegx/tilegx-c.c
index 909659b..e71965c 100644
--- a/gcc/config/tilegx/tilegx-c.c
+++ b/gcc/config/tilegx/tilegx-c.c
@@ -47,6 +47,9 @@ tilegx_cpu_cpp_builtins (struct cpp_reader *pfile)
if (TARGET_32BIT)
builtin_define ("__tilegx32__");
+ builtin_define ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
+ builtin_define ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
+
TILEGX_CPU_CPP_ENDIAN_BUILTINS ();
GNU_USER_TARGET_OS_CPP_BUILTINS ();
}
diff --git a/gcc/config/tilepro/tilepro-c.c b/gcc/config/tilepro/tilepro-c.c
index dc2e3d0..4fd0337 100644
--- a/gcc/config/tilepro/tilepro-c.c
+++ b/gcc/config/tilepro/tilepro-c.c
@@ -44,6 +44,11 @@ tilepro_cpu_cpp_builtins (struct cpp_reader *pfile)
builtin_define ("__tile_chip__=1");
builtin_define ("__tile_chip_rev__=0");
+ builtin_define ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");
+ builtin_define ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");
+ builtin_define ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");
+ builtin_define ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");
+
TILEPRO_CPU_CPP_ENDIAN_BUILTINS ();
GNU_USER_TARGET_OS_CPP_BUILTINS ();
}