summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorMandeep Singh Grang <mgrang@codeaurora.org>2019-01-14 23:26:01 +0000
committerMandeep Singh Grang <mgrang@codeaurora.org>2019-01-14 23:26:01 +0000
commit0055f80b3f5d6eb89da621dee01c398e01451297 (patch)
tree191558a83566c72bf925f3d30388230dd1645b38 /clang
parentdeb8089a71752e9207814a95eb97ce9afb7558ff (diff)
downloadbcm5719-llvm-0055f80b3f5d6eb89da621dee01c398e01451297.tar.gz
bcm5719-llvm-0055f80b3f5d6eb89da621dee01c398e01451297.zip
[COFF, ARM64] Add __nop intrinsic
Reviewers: rnk, efriedma, TomTan, haripul, ssijaric Reviewed By: rnk, efriedma Subscribers: javed.absar, kristof.beyls, cfe-commits Differential Revision: https://reviews.llvm.org/D56671 llvm-svn: 351135
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Headers/intrin.h3
-rw-r--r--clang/test/Headers/ms-arm64-intrin.cpp13
2 files changed, 16 insertions, 0 deletions
diff --git a/clang/lib/Headers/intrin.h b/clang/lib/Headers/intrin.h
index b2028ff5ba0..1a33af7f295 100644
--- a/clang/lib/Headers/intrin.h
+++ b/clang/lib/Headers/intrin.h
@@ -549,6 +549,9 @@ static __inline__ void __DEFAULT_FN_ATTRS
__halt(void) {
__asm__ volatile ("hlt");
}
+#endif
+
+#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__)
static __inline__ void __DEFAULT_FN_ATTRS
__nop(void) {
__asm__ volatile ("nop");
diff --git a/clang/test/Headers/ms-arm64-intrin.cpp b/clang/test/Headers/ms-arm64-intrin.cpp
new file mode 100644
index 00000000000..0b337aa69f7
--- /dev/null
+++ b/clang/test/Headers/ms-arm64-intrin.cpp
@@ -0,0 +1,13 @@
+// RUN: %clang_cc1 -triple arm64-windows \
+// RUN: -fms-compatibility -fms-compatibility-version=17.00 \
+// RUN: -ffreestanding -fsyntax-only -Werror \
+// RUN: -isystem %S/Inputs/include %s -S -o - 2>&1 | FileCheck %s
+
+// REQUIRES: aarch64-registered-target
+
+#include <intrin.h>
+
+void f() {
+// CHECK: nop
+ __nop();
+}
OpenPOWER on IntegriCloud