Prevent extra calls to ToggleFeature for Feature64Bit and FeatureCMOV if they've...
authorCraig Topper <craig.topper@gmail.com>
Wed, 18 Sep 2013 06:01:53 +0000 (06:01 +0000)
committerCraig Topper <craig.topper@gmail.com>
Wed, 18 Sep 2013 06:01:53 +0000 (06:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190920 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86Subtarget.cpp

index ae31bb834bd091b14304a25a2a4539803daf1678..f5b261428dc7e3e47b7c1b0f8e25352bc2d402ce 100644 (file)
@@ -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;