diff options
author | Hans-Peter Nilsson <hp@axis.com> | 2007-12-15 21:33:45 +0000 |
---|---|---|
committer | Hans-Peter Nilsson <hp@gcc.gnu.org> | 2007-12-15 21:33:45 +0000 |
commit | 0678581243475bc169cfaaa260a6521c264c60d8 (patch) | |
tree | d42b6aa303c417983f15f36558b1f60b1689171d | |
parent | c7e30cf2d1de6bdf267cfc0828abececd7ac9b03 (diff) | |
download | gcc-0678581243475bc169cfaaa260a6521c264c60d8.zip gcc-0678581243475bc169cfaaa260a6521c264c60d8.tar.gz gcc-0678581243475bc169cfaaa260a6521c264c60d8.tar.bz2 |
configure.host (try_cpu settings): Set try_cpu=cris for crisv32.
* configure.host (try_cpu settings): Set try_cpu=cris for crisv32.
* config/cpu/cris/atomicity.h (__exchange_and_add)
[__CRIS_arch_version >= 32]: Add support for CRIS v32.
From-SVN: r130963
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/config/cpu/cris/atomicity.h | 15 | ||||
-rw-r--r-- | libstdc++-v3/configure.host | 3 |
3 files changed, 23 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index a6a5d0f..30d4644 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2007-12-15 Hans-Peter Nilsson <hp@axis.com> + + * configure.host (try_cpu settings): Set try_cpu=cris for crisv32. + * config/cpu/cris/atomicity.h (__exchange_and_add) + [__CRIS_arch_version >= 32]: Add support for CRIS v32. + 2007-12-15 Benjamin Kosnik <bkoz@redhat.com> Paolo Carlini <pcarlini@suse.de> diff --git a/libstdc++-v3/config/cpu/cris/atomicity.h b/libstdc++-v3/config/cpu/cris/atomicity.h index da16a1a..56dd0ed 100644 --- a/libstdc++-v3/config/cpu/cris/atomicity.h +++ b/libstdc++-v3/config/cpu/cris/atomicity.h @@ -37,7 +37,20 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) int __tmp; _Atomic_word __result; -#if (__CRIS_arch_version >= 10) +#if (__CRIS_arch_version >= 32) + __asm__ __volatile__ (" clearf p \n" + "0: \n" + " move.d %4,%2 \n" + " move.d [%3],%0 \n" + " add.d %0,%2 \n" + " ax \n" + " move.d %2,[%3] \n" + " bcs 0b \n" + " clearf p \n" + : "=&r" (__result), "=Q" (*__mem), "=&r" (__tmp) + : "r" (__mem), "g" (__val), "Q" (*__mem) + : "memory"); +#elif (__CRIS_arch_version >= 10) __asm__ __volatile__ (" clearf \n" "0: \n" " move.d %4,%2 \n" diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host index 1742128..c994b5e 100644 --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -94,6 +94,9 @@ case "${host_cpu}" in arm* | xscale | ep9312) try_cpu=arm ;; + crisv32) + try_cpu=cris + ;; i[567]86 | x86_64) try_cpu=i486 ;; |