def METHOD_NAME(self):
    # Required SIMD argument
    simd = self.spec.variants["simd"].value
    if simd == "auto":
        # x86
        if "avx512" in self.spec.target:
            simd = "AVX512_SKYLAKE"
        elif self.spec.satisfies("target=mic_knl"):
            simd = "AVX512_KNL"
        elif "avx2" in self.spec.target:
            simd = "AVX2"
        elif "avx" in self.spec.target:
            simd = "AVX"
        elif "sse4_2" in self.spec.target:
            simd = "SSE42"
        elif "sse2" in self.spec.target:
            simd = "SSE2"
        # ARM
        elif "sve" in self.spec.target:
            # We require an explicit choice for particluar bit widths
            simd = "SVE"
        elif self.spec.satisfies("target=aarch64:"):
            simd = "AARCH64"
        elif "neon" in self.spec.target:
            simd = "NEON128"
        # POWER
        elif "vsx" in self.spec.target:
            simd = "VSX"
        elif self.spec.satisfies("target=ppc64:") or self.spec.satisfies("target=ppc64le:"):
            simd = "VMX"
        # Unknown CPU architecture
        else:
            simd = "CPU"
    if self.spec.satisfies("@:1"):
        METHOD_NAME = ["-DSIMD={0}".format(simd)]
    else:
        METHOD_NAME = ["-Dsimd={0}".format(simd)]
    if self.spec.satisfies("@:1"):
        # Optional SIMD instructions to be turned on explicitly
        optionals_value = self.spec.variants["optionals"].value
        if optionals_value != "none":
            optionals_arg = ";".join(optionals_value)
            METHOD_NAME.append("-DSIMD_OPTIONALS={0}".format(optionals_arg))
    return METHOD_NAME