r325655 - [X86] Disable CLWB in Cannon Lake

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 21 03:16:35 PST 2018


Merged to 6.0 in r325672.

On Wed, Feb 21, 2018 at 1:16 AM, Craig Topper via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
> Author: ctopper
> Date: Tue Feb 20 16:16:50 2018
> New Revision: 325655
>
> URL: http://llvm.org/viewvc/llvm-project?rev=325655&view=rev
> Log:
> [X86] Disable CLWB in Cannon Lake
>
> Cannon Lake does not support CLWB, therefore it
> does not include all features listed under SKX.
>
> Patch by Gabor Buella
>
> Differential Revision: https://reviews.llvm.org/D43459
>
> Modified:
>     cfe/trunk/lib/Basic/Targets/X86.cpp
>     cfe/trunk/test/Preprocessor/predefined-arch-macros.c
>
> Modified: cfe/trunk/lib/Basic/Targets/X86.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets/X86.cpp?rev=325655&r1=325654&r2=325655&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Basic/Targets/X86.cpp (original)
> +++ cfe/trunk/lib/Basic/Targets/X86.cpp Tue Feb 20 16:16:50 2018
> @@ -175,7 +175,8 @@ bool X86TargetInfo::initFeatureMap(
>      setFeatureEnabledImpl(Features, "avx512bw", true);
>      setFeatureEnabledImpl(Features, "avx512vl", true);
>      setFeatureEnabledImpl(Features, "pku", true);
> -    setFeatureEnabledImpl(Features, "clwb", true);
> +    if (Kind != CK_Cannonlake) // CNL inherits all SKX features, except CLWB
> +      setFeatureEnabledImpl(Features, "clwb", true);
>      LLVM_FALLTHROUGH;
>    case CK_SkylakeClient:
>      setFeatureEnabledImpl(Features, "xsavec", true);
>
> Modified: cfe/trunk/test/Preprocessor/predefined-arch-macros.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/predefined-arch-macros.c?rev=325655&r1=325654&r2=325655&view=diff
> ==============================================================================
> --- cfe/trunk/test/Preprocessor/predefined-arch-macros.c (original)
> +++ cfe/trunk/test/Preprocessor/predefined-arch-macros.c Tue Feb 20 16:16:50 2018
> @@ -974,7 +974,7 @@
>  // CHECK_CNL_M32: #define __BMI2__ 1
>  // CHECK_CNL_M32: #define __BMI__ 1
>  // CHECK_CNL_M32: #define __CLFLUSHOPT__ 1
> -// CHECK_CNL_M32: #define __CLWB__ 1
> +// CHECK_CNL_M32-NOT: #define __CLWB__ 1
>  // CHECK_CNL_M32: #define __F16C__ 1
>  // CHECK_CNL_M32: #define __FMA__ 1
>  // CHECK_CNL_M32: #define __LZCNT__ 1
> @@ -1022,7 +1022,7 @@
>  // CHECK_CNL_M64: #define __BMI2__ 1
>  // CHECK_CNL_M64: #define __BMI__ 1
>  // CHECK_CNL_M64: #define __CLFLUSHOPT__ 1
> -// CHECK_CNL_M64: #define __CLWB__ 1
> +// CHECK_CNL_M64-NOT: #define __CLWB__ 1
>  // CHECK_CNL_M64: #define __F16C__ 1
>  // CHECK_CNL_M64: #define __FMA__ 1
>  // CHECK_CNL_M64: #define __LZCNT__ 1
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


More information about the cfe-commits mailing list