aboutsummaryrefslogtreecommitdiff
path: root/sys/arm/arm/stdatomic.c
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2014-12-06 11:59:35 +0000
committerAndrew Turner <andrew@FreeBSD.org>2014-12-06 11:59:35 +0000
commit17fea8f6b79735b26449d4052309d64c4e1577a5 (patch)
treefa3d179cfa78bc1813ea1de84194f40c8b874dc4 /sys/arm/arm/stdatomic.c
parentbbb29a3c0f2c4565eff6fda70426807b6ed97f8b (diff)
downloadsrc-17fea8f6b79735b26449d4052309d64c4e1577a5.tar.gz
src-17fea8f6b79735b26449d4052309d64c4e1577a5.zip
Use the unified syntax when generating assembly for clang. The clang 3.5
integrated assembler only accepts it. MFC after: 1 week Sponsored by: ABT Systems Ltd
Notes
Notes: svn path=/head/; revision=275564
Diffstat (limited to 'sys/arm/arm/stdatomic.c')
-rw-r--r--sys/arm/arm/stdatomic.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/arm/arm/stdatomic.c b/sys/arm/arm/stdatomic.c
index 301e0a63306d..c12a4ab66d36 100644
--- a/sys/arm/arm/stdatomic.c
+++ b/sys/arm/arm/stdatomic.c
@@ -850,8 +850,13 @@ EMIT_FETCH_AND_OP_N(N, uintN_t, ldr, str, fetch_and_or, "orr") \
EMIT_FETCH_AND_OP_N(N, uintN_t, ldr, str, fetch_and_sub, "sub") \
EMIT_FETCH_AND_OP_N(N, uintN_t, ldr, str, fetch_and_xor, "eor")
+#ifdef __clang__
+EMIT_ALL_OPS_N(1, uint8_t, "ldrb", "strb", "strbeq")
+EMIT_ALL_OPS_N(2, uint16_t, "ldrh", "strh", "strheq")
+#else
EMIT_ALL_OPS_N(1, uint8_t, "ldrb", "strb", "streqb")
EMIT_ALL_OPS_N(2, uint16_t, "ldrh", "strh", "streqh")
+#endif
EMIT_ALL_OPS_N(4, uint32_t, "ldr", "str", "streq")
#ifndef __clang__