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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits