cpuid v0.3.0: Better C, Virtual Machines, AVX2 & AVX512, GDC

Ilya Yaroshenko via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Tue Oct 11 07:51:16 PDT 2016


(Mir) cpuid v0.3.0 was released.

https://github.com/libmir/cpuid

## New
  - Basic leaf 7 CPUID information was added. It includes AVX2 
flag, AVX512 family flags and others.

  - Initial support for virtual machines was added.

  - `virtualVendor`, `virtualVendorIndex` was added.

  - `cpuid` is compatible with betterC compilation mode.

  - `extern(C) cpuid_init();` must be called instead of shared 
static module constructor.

  - No module information is generated when cpuid is compiled with 
LDC. LDC does not support `betterC` flag for now, however it is 
only compiler which produce binary code, that can be linked as 
common C library without DRuntime.

  - GDC support was added and tested.

  - CPUID instruction is optimized when compiled using GDC and 
when compiled for 64-bit Posix systems using LDC.

## API Changes
  - `brand`, `vendor` was moved to x86 module. `brand` API was 
changed.
  - `ss` -> `self_snoop`
  - `tm` -> `therm_monitor`
  - `tm2` -> `therm_monitor2`
  - `virtual` flag was added, `isVirtual` function was removed.

## Bugs fixed
- CPUID crashes on Microsoft VM  
https://github.com/libmir/cpuid/issues/11



More information about the Digitalmars-d-announce mailing list