[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
This commit is contained in:
Szabolcs Nagy 2017-01-30 11:34:13 +00:00 committed by Szabolcs Nagy
parent ab4be5d1be
commit 87c45ec798
2 changed files with 7 additions and 2 deletions

View File

@ -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

View File

@ -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)
{