m68k: Limit TAS to 68000 and CF ISA_B.

* config/m68k/m68k.h (ISA_HAS_TAS): New.
	* config/m68k/sync.md (atomic_test_and_set): Use it.
	(atomic_test_and_set_1): Likewise.

From-SVN: r185063
This commit is contained in:
Richard Henderson 2012-03-07 08:23:17 -08:00 committed by Richard Henderson
parent 5ab31493c5
commit e093a7bc9f
3 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2012-03-07 Richard Henderson <rth@redhat.com>
* config/m68k/m68k.h (ISA_HAS_TAS): New.
* config/m68k/sync.md (atomic_test_and_set): Use it.
(atomic_test_and_set_1): Likewise.
2012-03-07 Ralf Corsépius <ralf.corsepius@rtems.org>
PR target/51417

View File

@ -249,6 +249,7 @@ along with GCC; see the file COPYING3. If not see
/* Some instructions are common to more than one ISA. */
#define ISA_HAS_MVS_MVZ (TARGET_ISAB || TARGET_ISAC)
#define ISA_HAS_FF1 (TARGET_ISAAPLUS || TARGET_ISAC)
#define ISA_HAS_TAS (!TARGET_COLDFIRE || TARGET_ISAB || TARGET_ISAC)
#define TUNE_68000 (m68k_tune == u68000)
#define TUNE_68010 (m68k_tune == u68010)

View File

@ -60,7 +60,7 @@
[(match_operand:QI 0 "register_operand" "") ;; bool success output
(match_operand:QI 1 "memory_operand" "") ;; memory
(match_operand:SI 2 "const_int_operand" "")] ;; model
""
"ISA_HAS_TAS"
{
rtx t = gen_reg_rtx (QImode);
emit_insn (gen_atomic_test_and_set_1 (t, operands[1]));
@ -77,5 +77,5 @@
UNSPECV_TAS_1))
(set (match_dup 1)
(unspec_volatile:QI [(match_dup 1)] UNSPECV_TAS_2))]
""
"ISA_HAS_TAS"
"tas %1\;sne %0")