[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