Message ID | 4F5655CD.7090502@redhat.com |
---|---|
State | New |
Headers | show |
On 03/06/2012 07:22 PM, Richard Henderson wrote: > On 03/06/12 09:55, Andreas Schwab wrote: >> Richard Henderson<rth@redhat.com> writes: >> >>> On 03/06/12 02:13, Andreas Schwab wrote: >>>> Ralf Corsepius<ralf.corsepius@rtems.org> writes: >>>> >>>>> * Incompatiblible/insufficient binutils (I am using binutils-2.22)? >>>>> * Some as/ld-flags getting lost/improperly propagated during >>>>> assembly/linking? >>>>> * Bad/incompatible inline-asm hard-coded somewhere? >>>> TAS needs at least ISA_B, ie. at least CFV4. >>> So... the correct test is what... >>> >>> #define ISA_HAS_TAS (!TARGET_COLDFIRE || TARGET_ISAB || TARGET_ISAC) >> Yes, that looks correct. > Thanks. > > Ralf, I've committed the following to mainline. Please try your rtems > testing again, and if that works I'll push the patch to 4.7 branch. > Thanks, gcc-4_7-branch now finished bootstrapping for --target=m68k-rtems4.11 with your patch applied. Ralf
diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index dbb9756..42d3779 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -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) diff --git a/gcc/config/m68k/sync.md b/gcc/config/m68k/sync.md index 6c840f5..d5cab79 100644 --- a/gcc/config/m68k/sync.md +++ b/gcc/config/m68k/sync.md @@ -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")