[PATCH] D35184: X86 Intrinsics: _bit_scan_forward should not be under #ifdef __RDRND__
Zvi Rackover via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Jul 9 11:47:27 PDT 2017
zvi updated this revision to Diff 105788.
zvi added a comment.
rdrand64_step should be under the ifdef
https://reviews.llvm.org/D35184
Files:
lib/Headers/immintrin.h
test/CodeGen/bitscan-builtins.c
Index: test/CodeGen/bitscan-builtins.c
===================================================================
--- test/CodeGen/bitscan-builtins.c
+++ test/CodeGen/bitscan-builtins.c
@@ -1,5 +1,8 @@
// RUN: %clang_cc1 -ffreestanding -triple x86_64-unknown-unknown -emit-llvm -o - %s | FileCheck %s
+// PR33722
+// RUN: %clang_cc1 -ffreestanding -triple x86_64-unknown-unknown -D_MSC_VER -emit-llvm -o - %s | FileCheck %s
+
#include <immintrin.h>
int test_bit_scan_forward(int a) {
Index: lib/Headers/immintrin.h
===================================================================
--- lib/Headers/immintrin.h
+++ lib/Headers/immintrin.h
@@ -212,6 +212,15 @@
return __builtin_ia32_rdrand32_step(__p);
}
+#ifdef __x86_64__
+static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
+_rdrand64_step(unsigned long long *__p)
+{
+ return __builtin_ia32_rdrand64_step(__p);
+}
+#endif
+#endif /* __RDRND__ */
+
/* __bit_scan_forward */
static __inline__ int __attribute__((__always_inline__, __nodebug__))
_bit_scan_forward(int __A) {
@@ -224,15 +233,6 @@
return 31 - __builtin_clz(__A);
}
-#ifdef __x86_64__
-static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
-_rdrand64_step(unsigned long long *__p)
-{
- return __builtin_ia32_rdrand64_step(__p);
-}
-#endif
-#endif /* __RDRND__ */
-
#if !defined(_MSC_VER) || __has_feature(modules) || defined(__FSGSBASE__)
#ifdef __x86_64__
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35184.105788.patch
Type: text/x-patch
Size: 1570 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170709/918af553/attachment.bin>
More information about the cfe-commits
mailing list