Unverified Commit a977b683 authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

msolve: guard SIMD instructions (#504843)

parents 748c0537 abce2860
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -37,6 +37,35 @@ stdenv.mkDerivation (finalAttrs: {
    llvmPackages.openmp
  ];

  configureFlags =
    let
      mkCpuFeatureFlag = acvar: cond: "ax_cv_have_${acvar}_cpu_ext=${lib.boolToYesNo cond}";
    in
    [
      (mkCpuFeatureFlag "sse3" stdenv.hostPlatform.sse3Support)
      (mkCpuFeatureFlag "ssse3" stdenv.hostPlatform.ssse3Support)
      (mkCpuFeatureFlag "sse41" stdenv.hostPlatform.sse4_1Support)
      (mkCpuFeatureFlag "sse42" stdenv.hostPlatform.sse4_2Support)
      (mkCpuFeatureFlag "sse4a" stdenv.hostPlatform.sse4_aSupport)
      (mkCpuFeatureFlag "avx" stdenv.hostPlatform.avxSupport)
      (mkCpuFeatureFlag "avx2" stdenv.hostPlatform.avx2Support)
    ]
    ++ map (lib.flip mkCpuFeatureFlag stdenv.hostPlatform.avx512Support) [
      "avx512f"
      "avx512cd"
      "avx512pf"
      "avx512er"
      "avx512vl"
      "avx512bw"
      "avx512dq"
      "avx512ifma"
      "avx512vbmi"
    ]
    ++ [
      (mkCpuFeatureFlag "fma3" stdenv.hostPlatform.fmaSupport)
      (mkCpuFeatureFlag "fma4" stdenv.hostPlatform.fma4Support)
    ];

  doCheck = true;

  meta = {