/ externals / biscuit / examples / cpuinfo / cpuinfo.cpp
cpuinfo.cpp
 1  // Copyright (c), 2022, KNS Group LLC (YADRO)
 2  //
 3  // Use of this source code is governed by an MIT-style
 4  // license that can be found in the LICENSE file or at
 5  // https://opensource.org/licenses/MIT.
 6  
 7  #include <biscuit/assembler.hpp>
 8  #include <biscuit/cpuinfo.hpp>
 9  
10  #include <iostream>
11  
12  using namespace biscuit;
13  
14  int main()
15  {
16      CPUInfo cpu;
17  
18      std::cout << "Has I:" <<  cpu.Has(RISCVExtension::I) << std::endl;
19      std::cout << "Has M:" <<  cpu.Has(RISCVExtension::M) << std::endl;
20      std::cout << "Has A:" <<  cpu.Has(RISCVExtension::A) << std::endl;
21      std::cout << "Has F:" <<  cpu.Has(RISCVExtension::F) << std::endl;
22      std::cout << "Has D:" <<  cpu.Has(RISCVExtension::D) << std::endl;
23      std::cout << "Has C:" <<  cpu.Has(RISCVExtension::C) << std::endl;
24      std::cout << "Has V:" <<  cpu.Has(RISCVExtension::V) << std::endl;
25  
26      if (cpu.Has(RISCVExtension::V)) {
27          std::cout << "VLENB:" <<  cpu.GetVlenb() << std::endl;
28      }
29  
30      return 0;
31  }