HomePhabricator

Add support for the x86 builtin __builtin_cpu_supports.

Description

Add support for the x86 builtin __builtin_cpu_supports.

This matches the implementation of the gcc support for the same
feature, including checking the values set up by libgcc at runtime.
The structure looks like this:

unsigned int __cpu_vendor;
unsigned int __cpu_type;
unsigned int __cpu_subtype;
unsigned int __cpu_features[1];

with a set of enums to match various fields that are field out after
parsing the output of the cpuid instruction.
This also adds a set of errors checking for valid input (and cpu).

compiler-rt support for this and the other builtins in this family
(builtin_cpu_init and builtin_cpu_is) are forthcoming.

Details

Committed
echristoJun 29 2015, 2:00 PM
Parents
rL240993: Make sure that SharingPtr.h appears in the LLDB.framework by making it a public…
Branches
Unknown
Tags
Unknown