summaryrefslogtreecommitdiff
path: root/libatomic
diff options
context:
space:
mode:
authornsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4>2017-01-30 11:34:13 +0000
committernsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4>2017-01-30 11:34:13 +0000
commit6c0d8bb0c9fe0e594cd61b63218aa765013ab814 (patch)
tree83f4471834a33ea8d682b38a4d7a415382de1f0c /libatomic
parent72adaf7394234836cb80a67c2dd82e00720722ca (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245023 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libatomic')
-rw-r--r--libatomic/ChangeLog5
-rw-r--r--libatomic/config/arm/exch_n.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog
index f87859d3c517..1b47b8f2235d 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 991f19de0f39..685cb95ceaa7 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)
{