diff --git a/test/lit.cfg b/test/lit.cfg index cd17be1fdbb..13323b367b7 100644 --- a/test/lit.cfg +++ b/test/lit.cfg @@ -291,6 +291,16 @@ if re.search(r'with assertions', llc_cmd.stdout.read().decode('ascii')): config.available_features.add('asserts') llc_cmd.wait() +if 'darwin' == sys.platform: + try: + sysctl_cmd = subprocess.Popen(['sysctl', 'hw.optional.fma'], + stdout = subprocess.PIPE) + except OSError: + print("Could not exec sysctl") + if -1 != sysctl_cmd.stdout.read().find("hw.optional.fma: 1"): + config.available_features.add('fma3') + sysctl_cmd.wait() + # Check if we should use gmalloc. use_gmalloc_str = lit_config.params.get('use_gmalloc', None) if use_gmalloc_str is not None: