diff options
author | Craig Topper <craig.topper@intel.com> | 2019-03-21 20:36:08 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-03-21 20:36:08 +0000 |
commit | 7339e61b891404631b92ae6130e24e641c2a5cb7 (patch) | |
tree | ffd0183e7f5e196280e9ac041f2ec264b18ba84d /clang/test/Preprocessor/predefined-win-macros.c | |
parent | b576c77a9ead5cd523e48b49fc5e536800718912 (diff) | |
download | bcm5719-llvm-7339e61b891404631b92ae6130e24e641c2a5cb7.tar.gz bcm5719-llvm-7339e61b891404631b92ae6130e24e641c2a5cb7.zip |
[X86] Correct the value of MaxAtomicInlineWidth for pre-586 cpus
Use the new cx8 feature flag that was added to the backend to represent support for cmpxchg8b. Use this flag to set the MaxAtomicInlineWidth.
This also assumes all the cmpxchg instructions are enabled for CK_Generic which is what cc1 defaults to when nothing is specified.
Differential Revision: https://reviews.llvm.org/D59566
llvm-svn: 356709
Diffstat (limited to 'clang/test/Preprocessor/predefined-win-macros.c')
-rw-r--r-- | clang/test/Preprocessor/predefined-win-macros.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/clang/test/Preprocessor/predefined-win-macros.c b/clang/test/Preprocessor/predefined-win-macros.c index 5e5f1e82f9b..6034c085024 100644 --- a/clang/test/Preprocessor/predefined-win-macros.c +++ b/clang/test/Preprocessor/predefined-win-macros.c @@ -3,7 +3,7 @@ // RUN: %clang_cc1 %s -x c++ -E -dM -triple x86_64-pc-win32 -fms-extensions -fms-compatibility \ // RUN: -fms-compatibility-version=19.00 -std=c++14 -o - | FileCheck -match-full-lines %s --check-prefix=CHECK-MS64 // RUN: %clang_cc1 %s -x c++ -E -dM -triple x86_64-pc-win32 -fms-extensions -fms-compatibility \ -// RUN: -fms-compatibility-version=19.00 -std=c++14 -o - | grep GCC | count 1 +// RUN: -fms-compatibility-version=19.00 -std=c++14 -o - | grep GCC | count 5 // CHECK-MS64: #define _INTEGRAL_MAX_BITS 64 // CHECK-MS64: #define _MSC_EXTENSIONS 1 // CHECK-MS64: #define _MSC_VER 1900 @@ -15,13 +15,17 @@ // CHECK-MS64-NOT: GNU // CHECK-MS64-NOT: GXX // CHECK-MS64: #define __GCC_ASM_FLAG_OUTPUTS__ 1 +// CHECK-MS64: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +// CHECK-MS64: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +// CHECK-MS64: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +// CHECK-MS64: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 // CHECK-MS64-NOT: GNU // CHECK-MS64-NOT: GXX // RUN: %clang_cc1 %s -x c++ -E -dM -triple i686-pc-win32 -fms-extensions -fms-compatibility \ // RUN: -fms-compatibility-version=19.00 -std=c++17 -o - | FileCheck -match-full-lines %s --check-prefix=CHECK-MS // RUN: %clang_cc1 %s -x c++ -E -dM -triple i686-pc-win32 -fms-extensions -fms-compatibility \ -// RUN: -fms-compatibility-version=19.00 -std=c++17 -o - | grep GCC | count 1 +// RUN: -fms-compatibility-version=19.00 -std=c++17 -o - | grep GCC | count 5 // CHECK-MS: #define _INTEGRAL_MAX_BITS 64 // CHECK-MS: #define _MSC_EXTENSIONS 1 // CHECK-MS: #define _MSC_VER 1900 @@ -33,6 +37,10 @@ // CHECK-MS-NOT: GNU // CHECK-MS-NOT: GXX // CHECK-MS: #define __GCC_ASM_FLAG_OUTPUTS__ 1 +// CHECK-MS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +// CHECK-MS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +// CHECK-MS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +// CHECK-MS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 // CHECK-MS-NOT: GNU // CHECK-MS-NOT: GXX |