forked from OSchip/llvm-project
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 llvm-svn: 280826
This commit is contained in:
parent
3f1ec62a83
commit
5de2bcdcf6
|
@ -97,6 +97,7 @@ static __inline__
|
||||||
void __movsd(unsigned long *, unsigned long const *, size_t);
|
void __movsd(unsigned long *, unsigned long const *, size_t);
|
||||||
static __inline__
|
static __inline__
|
||||||
void __movsw(unsigned short *, unsigned short const *, size_t);
|
void __movsw(unsigned short *, unsigned short const *, size_t);
|
||||||
|
static __inline__
|
||||||
void __nop(void);
|
void __nop(void);
|
||||||
void __nvreg_restore_fence(void);
|
void __nvreg_restore_fence(void);
|
||||||
void __nvreg_save_fence(void);
|
void __nvreg_save_fence(void);
|
||||||
|
@ -918,6 +919,10 @@ static __inline__ void __DEFAULT_FN_ATTRS
|
||||||
__halt(void) {
|
__halt(void) {
|
||||||
__asm__ volatile ("hlt");
|
__asm__ volatile ("hlt");
|
||||||
}
|
}
|
||||||
|
static __inline__ void __DEFAULT_FN_ATTRS
|
||||||
|
__nop(void) {
|
||||||
|
__asm__ volatile ("nop");
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------------*\
|
||||||
|
|
|
@ -52,6 +52,7 @@ void f() {
|
||||||
__cpuidex(info, 0, 0);
|
__cpuidex(info, 0, 0);
|
||||||
_xgetbv(0);
|
_xgetbv(0);
|
||||||
__halt();
|
__halt();
|
||||||
|
__nop();
|
||||||
__readmsr(0);
|
__readmsr(0);
|
||||||
|
|
||||||
// FIXME: Call these in 64-bit too once the intrinsics have been fixed to
|
// FIXME: Call these in 64-bit too once the intrinsics have been fixed to
|
||||||
|
|
Loading…
Reference in New Issue