[PATCH] D132141: [X86] Emulate _rdrand64_step with two rdrand32 if it is 32bit
Craig Topper via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 18 08:40:04 PDT 2022
craig.topper added inline comments.
================
Comment at: clang/lib/Headers/immintrin.h:301
+ unsigned long long tmp;
+ if (__builtin_ia32_rdrand32_step((unsigned int *)&tmp) &
+ __builtin_ia32_rdrand32_step(((unsigned int *)&tmp) + 1)) {
----------------
Should `&` be `&&`?
================
Comment at: clang/lib/Headers/immintrin.h:301
+ unsigned long long tmp;
+ if (__builtin_ia32_rdrand32_step((unsigned int *)&tmp) &
+ __builtin_ia32_rdrand32_step(((unsigned int *)&tmp) + 1)) {
----------------
craig.topper wrote:
> Should `&` be `&&`?
Can we avoid the pointer cast here? Use two unsigned ints and manually concatenate them to a 64-bit value.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D132141/new/
https://reviews.llvm.org/D132141
More information about the cfe-commits
mailing list