From: Reid Kleckner Date: Wed, 7 Sep 2016 16:55:12 +0000 (+0000) Subject: Add MS __nop intrinsic to intrin.h X-Git-Tag: llvmorg-4.0.0-rc1~10445 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5de2bcdcf620d701e23ce31fd061d16a5fc25d01;p=platform%2Fupstream%2Fllvm.git 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 --- diff --git a/clang/lib/Headers/intrin.h b/clang/lib/Headers/intrin.h index 268ac4a..d68fdfc 100644 --- a/clang/lib/Headers/intrin.h +++ b/clang/lib/Headers/intrin.h @@ -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_ATTRS __halt(void) { __asm__ volatile ("hlt"); } +static __inline__ void __DEFAULT_FN_ATTRS +__nop(void) { + __asm__ volatile ("nop"); +} #endif /*----------------------------------------------------------------------------*\ diff --git a/clang/test/Headers/ms-intrin.cpp b/clang/test/Headers/ms-intrin.cpp index 25c5531..4d6803a 100644 --- a/clang/test/Headers/ms-intrin.cpp +++ b/clang/test/Headers/ms-intrin.cpp @@ -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