< prev index next >

src/cpu/ppc/vm/vm_version_ppc.hpp

Print this page




  60     vand_m                = (1 << vand   ),
  61     lqarx_m               = (1 << lqarx  ),
  62     vcipher_m             = (1 << vcipher),
  63     vpmsumb_m             = (1 << vpmsumb),
  64     tcheck_m              = (1 << tcheck ),
  65     all_features_m        = -1
  66   };
  67   static int  _features;
  68   static int  _measured_cache_line_size;
  69   static const char* _features_str;
  70   static bool _is_determine_features_test_running;
  71 
  72   static void print_features();
  73   static void determine_features(); // also measures cache line size
  74   static void config_dscr(); // Power 8: Configure Data Stream Control Register.
  75   static void determine_section_size();
  76   static void power6_micro_bench();
  77 public:
  78   // Initialization
  79   static void initialize();

  80 
  81   // Override Abstract_VM_Version implementation
  82   static bool use_biased_locking();
  83 
  84   static bool is_determine_features_test_running() { return _is_determine_features_test_running; }
  85   // CPU instruction support
  86   static bool has_fsqrt()   { return (_features & fsqrt_m) != 0; }
  87   static bool has_fsqrts()  { return (_features & fsqrts_m) != 0; }
  88   static bool has_isel()    { return (_features & isel_m) != 0; }
  89   static bool has_lxarxeh() { return (_features & lxarxeh_m) !=0; }
  90   static bool has_cmpb()    { return (_features & cmpb_m) != 0; }
  91   static bool has_popcntb() { return (_features & popcntb_m) != 0; }
  92   static bool has_popcntw() { return (_features & popcntw_m) != 0; }
  93   static bool has_fcfids()  { return (_features & fcfids_m) != 0; }
  94   static bool has_vand()    { return (_features & vand_m) != 0; }
  95   static bool has_lqarx()   { return (_features & lqarx_m) != 0; }
  96   static bool has_vcipher() { return (_features & vcipher_m) != 0; }
  97   static bool has_vpmsumb() { return (_features & vpmsumb_m) != 0; }
  98   static bool has_tcheck()  { return (_features & tcheck_m) != 0; }
  99 


  60     vand_m                = (1 << vand   ),
  61     lqarx_m               = (1 << lqarx  ),
  62     vcipher_m             = (1 << vcipher),
  63     vpmsumb_m             = (1 << vpmsumb),
  64     tcheck_m              = (1 << tcheck ),
  65     all_features_m        = -1
  66   };
  67   static int  _features;
  68   static int  _measured_cache_line_size;
  69   static const char* _features_str;
  70   static bool _is_determine_features_test_running;
  71 
  72   static void print_features();
  73   static void determine_features(); // also measures cache line size
  74   static void config_dscr(); // Power 8: Configure Data Stream Control Register.
  75   static void determine_section_size();
  76   static void power6_micro_bench();
  77 public:
  78   // Initialization
  79   static void initialize();
  80   static void vm_init_before_ergo() {}
  81 
  82   // Override Abstract_VM_Version implementation
  83   static bool use_biased_locking();
  84 
  85   static bool is_determine_features_test_running() { return _is_determine_features_test_running; }
  86   // CPU instruction support
  87   static bool has_fsqrt()   { return (_features & fsqrt_m) != 0; }
  88   static bool has_fsqrts()  { return (_features & fsqrts_m) != 0; }
  89   static bool has_isel()    { return (_features & isel_m) != 0; }
  90   static bool has_lxarxeh() { return (_features & lxarxeh_m) !=0; }
  91   static bool has_cmpb()    { return (_features & cmpb_m) != 0; }
  92   static bool has_popcntb() { return (_features & popcntb_m) != 0; }
  93   static bool has_popcntw() { return (_features & popcntw_m) != 0; }
  94   static bool has_fcfids()  { return (_features & fcfids_m) != 0; }
  95   static bool has_vand()    { return (_features & vand_m) != 0; }
  96   static bool has_lqarx()   { return (_features & lqarx_m) != 0; }
  97   static bool has_vcipher() { return (_features & vcipher_m) != 0; }
  98   static bool has_vpmsumb() { return (_features & vpmsumb_m) != 0; }
  99   static bool has_tcheck()  { return (_features & tcheck_m) != 0; }
 100 
< prev index next >