diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2017-01-30 11:34:13 +0000 |
---|---|---|
committer | Szabolcs Nagy <nsz@gcc.gnu.org> | 2017-01-30 11:34:13 +0000 |
commit | 87c45ec798cfdbc784806fed96e5f20a105793e5 (patch) | |
tree | 83f4471834a33ea8d682b38a4d7a415382de1f0c /libatomic | |
parent | ab4be5d1be0007a26492a98d268075d43a01b1f0 (diff) |
[ARM][PR target/78945] Fix libatomic on armv7-m
ARM libatomic inline asm uses sel, uadd8, uadd16 instructions
which are only available if __ARM_FEATURE_SIMD32 is defined.
libatomic/
2017-01-30 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR target/78945
* config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32.
From-SVN: r245023
Diffstat (limited to 'libatomic')
-rw-r--r-- | libatomic/ChangeLog | 5 | ||||
-rw-r--r-- | libatomic/config/arm/exch_n.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog index f87859d3c51..1b47b8f2235 100644 --- a/libatomic/ChangeLog +++ b/libatomic/ChangeLog @@ -1,3 +1,8 @@ +2017-01-30 Szabolcs Nagy <szabolcs.nagy@arm.com> + + PR target/78945 + * config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32. + 2017-01-21 Jakub Jelinek <jakub@redhat.com> PR other/79046 diff --git a/libatomic/config/arm/exch_n.c b/libatomic/config/arm/exch_n.c index 991f19de0f3..685cb95ceaa 100644 --- a/libatomic/config/arm/exch_n.c +++ b/libatomic/config/arm/exch_n.c @@ -29,7 +29,7 @@ /* When using STREX to implement sub-word exchange, we can do much better than the compiler by using the APSR.GE and APSR.C flags. */ -#if !DONE && HAVE_STREX && !HAVE_STREXBH && N == 2 +#if !DONE && __ARM_FEATURE_SIMD32 && HAVE_STREX && !HAVE_STREXBH && N == 2 UTYPE SIZE(libat_exchange) (UTYPE *mptr, UTYPE newval, int smodel) { @@ -79,7 +79,7 @@ SIZE(libat_exchange) (UTYPE *mptr, UTYPE newval, int smodel) #endif /* !HAVE_STREXBH && N == 2 */ -#if !DONE && HAVE_STREX && !HAVE_STREXBH && N == 1 +#if !DONE && __ARM_FEATURE_SIMD32 && HAVE_STREX && !HAVE_STREXBH && N == 1 UTYPE SIZE(libat_exchange) (UTYPE *mptr, UTYPE newval, int smodel) { |