; ; SIMD instruction support check ; ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB ; Copyright (C) 2016, D. R. Commander. ; Copyright (C) 2023, Aliaksiej Kandracienka. ; ; Based on ; x86 SIMD extension for IJG JPEG library ; Copyright (C) 1999-2006, MIYASAKA Masaru. ; For conditions of distribution and use, see copyright notice in jsimdext.inc ; ; This file should be assembled with NASM (Netwide Assembler) or Yasm.
; Assume that all x86-64 processors support SSE & SSE2 instructions or rdi, JSIMD_SSE2 or rdi, JSIMD_SSE
; Check whether CPUID leaf 07H is supported ; (leaf 07H is used to check for AVX2 instruction support)
mov rax, 0
cpuid cmp rax, 7 jl short .return ; Maximum leaf < 07H
; Check for AVX2 O/S support
mov rax, 1 xor rcx, rcx
cpuid
test rcx, 1 << 27 jz short .return ; O/S does not support XSAVE
test rcx, 1 << 28 jz short .return ; CPU does not support AVX2
xor rcx, rcx
xgetbv and rax, 6 cmp rax, 6; O/S does not manage XMM/YMM state ; using XSAVE jnz short .return
or rdi, JSIMD_AVX2
.return:
mov rax, rdi
pop rdi
pop rbx
pop rbp
ret
; For some reason, the OS X linker does not honor the request to align the ; segment unless we do this. align32
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-10-11)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.