blob: dcc1ff5f953ba1b9d221b72853e71beb7994f2d3 [file] [log] [blame] [edit]
// Copyright 2023 The IREE Authors
//
// Licensed 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
#include <stdio.h>
#include "iree/base/api.h"
#include "iree/base/internal/cpu.h"
int main(int argc, char* argv[]) {
iree_cpu_initialize(iree_allocator_system());
const uint64_t* cpu_data = iree_cpu_data_fields();
#define IREE_CPU_FEATURE_BIT(arch, field_index, bit_pos, bit_name, llvm_name) \
if (IREE_ARCH_ENUM == IREE_ARCH_ENUM_##arch) { \
bool result = (cpu_data[field_index] & (1ull << bit_pos)) != 0; \
printf("%-20s %d\n", llvm_name, (int)result); \
}
#include "iree/schemas/cpu_feature_bits.inl"
#undef IREE_CPU_FEATURE_BIT
return 0;
}