diff options
author | Craig Topper <craig.topper@gmail.com> | 2013-09-18 06:01:53 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2013-09-18 06:01:53 +0000 |
commit | 358c7989b1b8859780185db1e0ab727a007d3f82 (patch) | |
tree | 812ce2bff7901f911a46acdc177bbfe688cd58b3 /llvm/lib | |
parent | a8442344ed56fe0d78399550759a0b12adac9e80 (diff) | |
download | bcm5719-llvm-358c7989b1b8859780185db1e0ab727a007d3f82.tar.gz bcm5719-llvm-358c7989b1b8859780185db1e0ab727a007d3f82.zip |
Prevent extra calls to ToggleFeature for Feature64Bit and FeatureCMOV if they've already been enabled. The extra call ends up clearing the bit in FeatureBits since its a 'toggle'. Can't prove that anything was broken because of this since I don't think the FeatureBits for these are used.
llvm-svn: 190920
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86Subtarget.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.cpp b/llvm/lib/Target/X86/X86Subtarget.cpp index ae31bb834bd..f5b261428dc 100644 --- a/llvm/lib/Target/X86/X86Subtarget.cpp +++ b/llvm/lib/Target/X86/X86Subtarget.cpp @@ -440,8 +440,8 @@ void X86Subtarget::resetSubtargetFeatures(StringRef CPU, StringRef FS) { // Make sure 64-bit features are available in 64-bit mode. if (In64BitMode) { - HasX86_64 = true; ToggleFeature(X86::Feature64Bit); - HasCMov = true; ToggleFeature(X86::FeatureCMOV); + if (!HasX86_64) { HasX86_64 = true; ToggleFeature(X86::Feature64Bit); } + if (!HasCMov) { HasCMov = true; ToggleFeature(X86::FeatureCMOV); } if (X86SSELevel < SSE2) { X86SSELevel = SSE2; |