| // 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; | |
| } |