git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch@184951
138bc75d-0d04-0410-961f-
82ee72b054a4
+2012-03-05 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New hook.
+
2012-03-05 Richard Henderson <rth@redhat.com>
PR target/52481
2012-03-05 Richard Henderson <rth@redhat.com>
PR target/52481
/* Machine-specific symbol_ref flags. */
#define SYMBOL_FLAG_FUNCVEC_FUNCTION (SYMBOL_FLAG_MACH_DEP << 0)
/* Machine-specific symbol_ref flags. */
#define SYMBOL_FLAG_FUNCVEC_FUNCTION (SYMBOL_FLAG_MACH_DEP << 0)
+/* The tas.b instruction sets the 7th bit in the byte, i.e. 0x80. This value
+ is used by optabs.c atomic op expansion code as well as in sync.md. */
+#undef TARGET_ATOMIC_TEST_AND_SET_TRUEVAL
+#define TARGET_ATOMIC_TEST_AND_SET_TRUEVAL 0x80
+
struct gcc_target targetm = TARGET_INITIALIZER;
\f
/* Implement TARGET_OPTION_OVERRIDE macro. Validate and override
struct gcc_target targetm = TARGET_INITIALIZER;
\f
/* Implement TARGET_OPTION_OVERRIDE macro. Validate and override