//===- lit-cpuid.cpp - Get CPU feature flags for lit exported features ----===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // lit-cpuid obtains the feature list for the currently running CPU, and outputs // those flags that are interesting for LLDB lit tests. // //===----------------------------------------------------------------------===// #include "llvm/ADT/StringMap.h" #include "llvm/Support/Host.h" #include "llvm/Support/raw_ostream.h" using namespace llvm; int main(int argc, char **argv) { #if defined(__i386__) || defined(_M_IX86) || \ defined(__x86_64__) || defined(_M_X64) StringMap features; if (!sys::getHostCPUFeatures(features)) return 1; if (features["sse"]) outs() << "sse\n"; if (features["avx"]) outs() << "avx\n"; if (features["avx512f"]) outs() << "avx512f\n"; #endif return 0; }