Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qsimd_p.h File Reference

(a68e7a5f876f432812e15e287c93c137a2ec1d2a)

#include <QtCore/private/qglobal_p.h>
#include <QtCore/qsimd.h>
#include <stdatomic.h>
Include dependency graph for qsimd_p.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ALIGNMENT_PROLOGUE_16BYTES(ptr, i, length)
#define ALIGNMENT_PROLOGUE_32BYTES(ptr, i, length)
#define SIMD_EPILOGUE(i, length, max)
#define QT_COMPILER_SUPPORTS(x)
#define QT_COMPILER_SUPPORTS_HERE(x)
#define QT_FUNCTION_TARGET(x)
#define Q_ATOMIC(T)
#define qCpuHasFeature(feature)

Typedefs

typedef unsigned QCpuFeatureType

Enumerations

enum  CPUFeatures

Functions

Q_CORE_EXPORT Q_ATOMIC (QCpuFeatureType) QT_MANGLE_NAMESPACE(qt_cpu_features)[1]
Q_CORE_EXPORT uint64_t QT_MANGLE_NAMESPACE qDetectCpuFeatures ()
static uint64_t qCpuFeatures ()

Variables

static const uint64_t qCompilerCpuFeatures = 0

Macro Definition Documentation

◆ ALIGNMENT_PROLOGUE_16BYTES

#define ALIGNMENT_PROLOGUE_16BYTES ( ptr,
i,
length )
Value:
for (; i < static_cast<int>(qMin(static_cast<quintptr>(length), ((4 - ((reinterpret_cast<quintptr>(ptr) >> 2) & 0x3)) & 0x3))); ++i)
static ControlElement< T > * ptr(QWidget *widget)
QT_BEGIN_NAMESPACE constexpr const T & qMin(const T &a, const T &b)
Definition qminmax.h:19
GLenum GLuint GLenum GLsizei length
size_t quintptr
Definition qtypes.h:185

Definition at line 27 of file qsimd_p.h.

◆ ALIGNMENT_PROLOGUE_32BYTES

#define ALIGNMENT_PROLOGUE_32BYTES ( ptr,
i,
length )
Value:
for (; i < static_cast<int>(qMin(static_cast<quintptr>(length), ((8 - ((reinterpret_cast<quintptr>(ptr) >> 2) & 0x7)) & 0x7))); ++i)

Definition at line 30 of file qsimd_p.h.

◆ Q_ATOMIC

#define Q_ATOMIC ( T)
Value:
_Atomic(T)

Definition at line 442 of file qsimd_p.h.

◆ qCpuHasFeature

#define qCpuHasFeature ( feature)
Value:
(((qCompilerCpuFeatures & CpuFeature ## feature) == CpuFeature ## feature) \
|| ((qCpuFeatures() & CpuFeature ## feature) == CpuFeature ## feature))
static const uint64_t qCompilerCpuFeatures
Definition qsimd_p.h:398
static uint64_t qCpuFeatures()
Definition qsimd_p.h:456

Definition at line 470 of file qsimd_p.h.

◆ QT_COMPILER_SUPPORTS

#define QT_COMPILER_SUPPORTS ( x)
Value:
(defined QT_COMPILER_SUPPORTS_##x && QT_COMPILER_SUPPORTS_##x)
GLint GLint GLint GLint GLint x

Definition at line 100 of file qsimd_p.h.

◆ QT_COMPILER_SUPPORTS_HERE

#define QT_COMPILER_SUPPORTS_HERE ( x)
Value:
(defined __##x##__ && __##x##__)

Definition at line 139 of file qsimd_p.h.

◆ QT_FUNCTION_TARGET

#define QT_FUNCTION_TARGET ( x)

Definition at line 140 of file qsimd_p.h.

◆ SIMD_EPILOGUE

#define SIMD_EPILOGUE ( i,
length,
max )
Value:
for (int _i = 0; _i < max && i < length; ++i, ++_i)

Definition at line 33 of file qsimd_p.h.

Typedef Documentation

◆ QCpuFeatureType

typedef unsigned QCpuFeatureType

Definition at line 451 of file qsimd_p.h.

Enumeration Type Documentation

◆ CPUFeatures

Definition at line 381 of file qsimd_p.h.

Function Documentation

◆ Q_ATOMIC()

Q_CORE_EXPORT Q_ATOMIC ( QCpuFeatureType ) )[1]
extern

◆ qCpuFeatures()

uint64_t qCpuFeatures ( )
inlinestatic

Definition at line 456 of file qsimd_p.h.

◆ qDetectCpuFeatures()

Q_CORE_EXPORT uint64_t QT_MANGLE_NAMESPACE qDetectCpuFeatures ( )

Definition at line 636 of file qsimd.cpp.

References features_indices, features_string, and SimdInitialized.

Variable Documentation

◆ qCompilerCpuFeatures

const uint64_t qCompilerCpuFeatures = 0
static

Definition at line 398 of file qsimd_p.h.

Referenced by qDumpCPUFeatures().