r280826 - Add MS __nop intrinsic to intrin.h
Reid Kleckner via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 7 09:55:12 PDT 2016
Author: rnk
Date: Wed Sep 7 11:55:12 2016
New Revision: 280826
URL: http://llvm.org/viewvc/llvm-project?rev=280826&view=rev
Log:
Add MS __nop intrinsic to intrin.h
Summary: There was no definition for __nop function - added inline
assembly.
Patch by Albert Gutowski!
Reviewers: rnk, thakis
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D24286
Modified:
cfe/trunk/lib/Headers/intrin.h
cfe/trunk/test/Headers/ms-intrin.cpp
Modified: cfe/trunk/lib/Headers/intrin.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/intrin.h?rev=280826&r1=280825&r2=280826&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/intrin.h (original)
+++ cfe/trunk/lib/Headers/intrin.h Wed Sep 7 11:55:12 2016
@@ -97,6 +97,7 @@ static __inline__
void __movsd(unsigned long *, unsigned long const *, size_t);
static __inline__
void __movsw(unsigned short *, unsigned short const *, size_t);
+static __inline__
void __nop(void);
void __nvreg_restore_fence(void);
void __nvreg_save_fence(void);
@@ -918,6 +919,10 @@ static __inline__ void __DEFAULT_FN_ATTR
__halt(void) {
__asm__ volatile ("hlt");
}
+static __inline__ void __DEFAULT_FN_ATTRS
+__nop(void) {
+ __asm__ volatile ("nop");
+}
#endif
/*----------------------------------------------------------------------------*\
Modified: cfe/trunk/test/Headers/ms-intrin.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/ms-intrin.cpp?rev=280826&r1=280825&r2=280826&view=diff
==============================================================================
--- cfe/trunk/test/Headers/ms-intrin.cpp (original)
+++ cfe/trunk/test/Headers/ms-intrin.cpp Wed Sep 7 11:55:12 2016
@@ -52,6 +52,7 @@ void f() {
__cpuidex(info, 0, 0);
_xgetbv(0);
__halt();
+ __nop();
__readmsr(0);
// FIXME: Call these in 64-bit too once the intrinsics have been fixed to
More information about the cfe-commits
mailing list