aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2018-11-06 20:45:26 +0000
committerReid Kleckner <rnk@google.com>2018-11-06 20:45:26 +0000
commit78cdddc618372b8c0f6e3a679b7ee4c63ccdfbc1 (patch)
tree394cc7dc23d9143a270a372f543a124c9270060b /lib
parent63ac0c95c915b9a341cfe2520ea8273e952d6048 (diff)
[MS] Zero out ECX in __cpuid in intrin.h
Summary: Some CPUID leafs depend on the value of ECX as well as EAX, but we left it uninitialized. Originally reported as https://crbug.com/901547 Reviewers: craig.topper, hans Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D54171 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@346265 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Headers/intrin.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Headers/intrin.h b/lib/Headers/intrin.h
index c2517e03b8..e872ef10a9 100644
--- a/lib/Headers/intrin.h
+++ b/lib/Headers/intrin.h
@@ -535,7 +535,7 @@ __stosq(unsigned __int64 *__dst, unsigned __int64 __x, size_t __n) {
static __inline__ void __DEFAULT_FN_ATTRS
__cpuid(int __info[4], int __level) {
__asm__ ("cpuid" : "=a"(__info[0]), "=b" (__info[1]), "=c"(__info[2]), "=d"(__info[3])
- : "a"(__level));
+ : "a"(__level), "c"(0));
}
static __inline__ void __DEFAULT_FN_ATTRS
__cpuidex(int __info[4], int __level, int __ecx) {