[llvm] r325654 - [X86] Disable CLWB for Cannon Lake
Hans Wennborg via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 21 03:13:38 PST 2018
Merged to 6.0 in r325671.
On Wed, Feb 21, 2018 at 1:15 AM, Craig Topper via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: ctopper
> Date: Tue Feb 20 16:15:48 2018
> New Revision: 325654
>
> URL: http://llvm.org/viewvc/llvm-project?rev=325654&view=rev
> Log:
> [X86] Disable CLWB for Cannon Lake
>
> Cannon Lake does not support CLWB, therefore it
> does not include all features listed under SKX anymore.
>
> Instead, enumerate all SKX features with the exception of CLWB.
>
> Patch by Gabor Buella
>
> Differential Revision: https://reviews.llvm.org/D43380
>
> Modified:
> llvm/trunk/lib/Target/X86/X86.td
> llvm/trunk/test/CodeGen/X86/clwb.ll
>
> Modified: llvm/trunk/lib/Target/X86/X86.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86.td?rev=325654&r1=325653&r2=325654&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86.td (original)
> +++ llvm/trunk/lib/Target/X86/X86.td Tue Feb 20 16:15:48 2018
> @@ -781,7 +781,13 @@ class SkylakeServerProc<string Name> : P
> def : SkylakeServerProc<"skylake-avx512">;
> def : SkylakeServerProc<"skx">; // Legacy alias.
>
> -def CNLFeatures : ProcessorFeatures<SKXFeatures.Value, [
> +def CNLFeatures : ProcessorFeatures<SKLFeatures.Value, [
> + FeatureAVX512,
> + FeatureCDI,
> + FeatureDQI,
> + FeatureBWI,
> + FeatureVLX,
> + FeaturePKU,
> FeatureVBMI,
> FeatureIFMA,
> FeatureSHA
>
> Modified: llvm/trunk/test/CodeGen/X86/clwb.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/clwb.ll?rev=325654&r1=325653&r2=325654&view=diff
> ==============================================================================
> --- llvm/trunk/test/CodeGen/X86/clwb.ll (original)
> +++ llvm/trunk/test/CodeGen/X86/clwb.ll Tue Feb 20 16:15:48 2018
> @@ -1,5 +1,12 @@
> ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
> +; NOTE: clwb is available in Skylake Server, not available in the newer
> +; NOTE: Cannon Lake arch, but available again in the newer Ice Lake arch.
> ; RUN: llc < %s -mtriple=i686-apple-darwin -mattr=clwb | FileCheck %s
> +; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=skx | FileCheck %s
> +; RUN: not llc < %s -mtriple=i686-apple-darwin -mcpu=cannonlake 2>&1 | FileCheck %s --check-prefix=CNL
> +; RUN: llc < %s -mtriple=i686-apple-darwin -mcpu=icelake | FileCheck %s
> +
> +; CNL: LLVM ERROR: Cannot select: intrinsic %llvm.x86.clwb
>
> define void @clwb(i8* %p) nounwind {
> ; CHECK-LABEL: clwb:
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list