- Qbs Manual
- Qbs 1.21.0

# cpufeatures QML Type

Provides support for fine-tuning CPU features. More...

Import Statement: | import QbsModules .
Since: | Qbs 1.10

- List of all members, including inherited members

## Properties

- arm_neon : bool
- arm_vfpv4 : bool
- mips_dsp : bool
- mips_dspr2 : bool
- x86_avx2 : bool
- x86_avx : bool
- x86_avx512bw : bool
- x86_avx512cd : bool
- x86_avx512dq : bool
- x86_avx512er : bool
- x86_avx512f : bool
- x86_avx512ifma : bool
- x86_avx512pf : bool
- x86_avx512vbmi : bool
- x86_avx512vl : bool
- x86_f16c : bool
- x86_sse2 : bool
- x86_sse3 : bool
- x86_sse4_1 : bool
- x86_sse4_2 : bool
- x86_ssse3 : bool

## Detailed Description

The `cpufeatures` module offers properties for enabling or disabling specific CPU features. Use it if you want to override the compiler defaults for a given platform.

The compiler rules in the cpp module evaluate this module's properties and generate matching compiler flags. All properties in this module are of type `bool` and have the following semantics:

- The default value `undefined` has no effect on the compiler command line.
- If the value is `true` and the compiler has a flag to enable the feature, that flag is added to the command line if it is applicable to the current architecture. For example, enabling the property `x86_sse2` would result in the GCC option `-msse2`.
- If the value is `false` and the compiler has a flag to disable the feature, that flag is added to the command line if it is applicable to the current architecture. For example, disabling the property `x86_sse2` would result in the GCC option `-no-msse2`.

## Property Documentation

arm_neon : bool

Whether to use NEON instructions in ARM binaries.

Default: Undefined

arm_vfpv4 : bool

Whether to use VFPv4 instructions in ARM binaries.

Default: Undefined

mips_dsp : bool

Whether to use DSP instructions in MIPS binaries.

Default: Undefined

mips_dspr2 : bool

Whether to use DSPr2 instructions in MIPS binaries.

Default: Undefined

x86_avx2 : bool

Whether to use AVX2 instructions in x86 binaries.

Default: Undefined

x86_avx : bool

Whether to use AVX instructions in x86 binaries.

Default: Undefined

x86_avx512bw : bool

Whether to use AVX-512-BW instructions in x86 binaries.

Default: Undefined

x86_avx512cd : bool

Whether to use AVX-512-CD instructions in x86 binaries.

Default: Undefined

x86_avx512dq : bool

Whether to use AVX-512-DQ instructions in x86 binaries.

Default: Undefined

x86_avx512er : bool

Whether to use AVX-512-ER instructions in x86 binaries.

Default: Undefined

x86_avx512f : bool

Whether to use AVX-512 instructions in x86 binaries.

Default: Undefined

x86_avx512ifma : bool

Whether to use AVX-512-IFMA instructions in x86 binaries.

Default: Undefined

x86_avx512pf : bool

Whether to use AVX-512-PF instructions in x86 binaries.

Default: Undefined

x86_avx512vbmi : bool

Whether to use AVX-512-VBMI instructions in x86 binaries.

Default: Undefined

x86_avx512vl : bool

Whether to use AVX-512-VL instructions in x86 binaries.

Default: Undefined

x86_f16c : bool

Whether to use F16C instructions in x86 binaries.

Default: Undefined

x86_sse2 : bool

Whether to use SSE2 instructions in x86 binaries.

Default: Undefined

x86_sse3 : bool

Whether to use SSE3 instructions in x86 binaries.

Default: Undefined

x86_sse4_1 : bool

Whether to use SSE4.1 instructions in x86 binaries.

Default: Undefined

x86_sse4_2 : bool

Whether to use SSE4.2 instructions in x86 binaries.

Default: Undefined

x86_ssse3 : bool

Whether to use SSSE3 instructions in x86 binaries.

Default: Undefined