2020-04-22 20:25:57 +01:00
|
|
|
#ifndef XBYAK_XBYAK_UTIL_H_
|
|
|
|
#define XBYAK_XBYAK_UTIL_H_
|
|
|
|
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
#ifdef XBYAK_ONLY_CLASS_CPU
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <algorithm>
|
|
|
|
#include <assert.h>
|
|
|
|
#ifndef XBYAK_THROW
|
|
|
|
#define XBYAK_THROW(x) ;
|
|
|
|
#define XBYAK_THROW_RET(x, y) return y;
|
|
|
|
#endif
|
|
|
|
#else
|
|
|
|
#include <string.h>
|
|
|
|
|
2020-04-22 20:25:57 +01:00
|
|
|
/**
|
|
|
|
utility class and functions for Xbyak
|
|
|
|
Xbyak::util::Clock ; rdtsc timer
|
|
|
|
Xbyak::util::Cpu ; detect CPU
|
|
|
|
*/
|
|
|
|
#include "xbyak.h"
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
#endif // XBYAK_ONLY_CLASS_CPU
|
2020-04-22 20:25:57 +01:00
|
|
|
|
2020-04-22 20:59:14 +01:00
|
|
|
#if defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || defined(_M_X64)
|
|
|
|
#define XBYAK_INTEL_CPU_SPECIFIC
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef XBYAK_INTEL_CPU_SPECIFIC
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
#ifdef _WIN32
|
|
|
|
#if defined(_MSC_VER) && (_MSC_VER < 1400) && defined(XBYAK32)
|
2020-04-22 20:25:57 +01:00
|
|
|
static inline __declspec(naked) void __cpuid(int[4], int)
|
|
|
|
{
|
|
|
|
__asm {
|
|
|
|
push ebx
|
|
|
|
push esi
|
|
|
|
mov eax, dword ptr [esp + 4 * 2 + 8] // eaxIn
|
|
|
|
cpuid
|
|
|
|
mov esi, dword ptr [esp + 4 * 2 + 4] // data
|
|
|
|
mov dword ptr [esi], eax
|
|
|
|
mov dword ptr [esi + 4], ebx
|
|
|
|
mov dword ptr [esi + 8], ecx
|
|
|
|
mov dword ptr [esi + 12], edx
|
|
|
|
pop esi
|
|
|
|
pop ebx
|
|
|
|
ret
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#else
|
|
|
|
#include <intrin.h> // for __cpuid
|
|
|
|
#endif
|
|
|
|
#else
|
|
|
|
#ifndef __GNUC_PREREQ
|
|
|
|
#define __GNUC_PREREQ(major, minor) ((((__GNUC__) << 16) + (__GNUC_MINOR__)) >= (((major) << 16) + (minor)))
|
|
|
|
#endif
|
|
|
|
#if __GNUC_PREREQ(4, 3) && !defined(__APPLE__)
|
|
|
|
#include <cpuid.h>
|
|
|
|
#else
|
|
|
|
#if defined(__APPLE__) && defined(XBYAK32) // avoid err : can't find a register in class `BREG' while reloading `asm'
|
|
|
|
#define __cpuid(eaxIn, a, b, c, d) __asm__ __volatile__("pushl %%ebx\ncpuid\nmovl %%ebp, %%esi\npopl %%ebx" : "=a"(a), "=S"(b), "=c"(c), "=d"(d) : "0"(eaxIn))
|
|
|
|
#define __cpuid_count(eaxIn, ecxIn, a, b, c, d) __asm__ __volatile__("pushl %%ebx\ncpuid\nmovl %%ebp, %%esi\npopl %%ebx" : "=a"(a), "=S"(b), "=c"(c), "=d"(d) : "0"(eaxIn), "2"(ecxIn))
|
|
|
|
#else
|
|
|
|
#define __cpuid(eaxIn, a, b, c, d) __asm__ __volatile__("cpuid\n" : "=a"(a), "=b"(b), "=c"(c), "=d"(d) : "0"(eaxIn))
|
|
|
|
#define __cpuid_count(eaxIn, ecxIn, a, b, c, d) __asm__ __volatile__("cpuid\n" : "=a"(a), "=b"(b), "=c"(c), "=d"(d) : "0"(eaxIn), "2"(ecxIn))
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#endif
|
2020-04-22 20:59:14 +01:00
|
|
|
#endif
|
2020-04-22 20:25:57 +01:00
|
|
|
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
#ifdef XBYAK_USE_VTUNE
|
|
|
|
// -I /opt/intel/vtune_amplifier/include/ -L /opt/intel/vtune_amplifier/lib64 -ljitprofiling -ldl
|
|
|
|
#include <jitprofiling.h>
|
|
|
|
#ifdef _MSC_VER
|
|
|
|
#pragma comment(lib, "libittnotify.lib")
|
|
|
|
#endif
|
|
|
|
#ifdef __linux__
|
|
|
|
#include <dlfcn.h>
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#ifdef __linux__
|
|
|
|
#define XBYAK_USE_PERF
|
|
|
|
#endif
|
|
|
|
|
2020-04-22 20:25:57 +01:00
|
|
|
namespace Xbyak { namespace util {
|
|
|
|
|
2020-04-22 20:59:14 +01:00
|
|
|
typedef enum {
|
|
|
|
SmtLevel = 1,
|
|
|
|
CoreLevel = 2
|
|
|
|
} IntelCpuTopologyLevel;
|
|
|
|
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
namespace local {
|
|
|
|
|
|
|
|
template<uint64_t L, uint64_t H = 0>
|
|
|
|
struct TypeT {
|
|
|
|
};
|
|
|
|
|
|
|
|
template<uint64_t L1, uint64_t H1, uint64_t L2, uint64_t H2>
|
|
|
|
TypeT<L1 | L2, H1 | H2> operator|(TypeT<L1, H1>, TypeT<L2, H2>) { return TypeT<L1 | L2, H1 | H2>(); }
|
|
|
|
|
|
|
|
} // local
|
|
|
|
|
2020-04-22 20:25:57 +01:00
|
|
|
/**
|
|
|
|
CPU detection class
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
@note static inline const member is supported by c++17 or later, so use template hack
|
2020-04-22 20:25:57 +01:00
|
|
|
*/
|
|
|
|
class Cpu {
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
public:
|
|
|
|
class Type {
|
|
|
|
uint64_t L;
|
|
|
|
uint64_t H;
|
|
|
|
public:
|
|
|
|
Type(uint64_t L = 0, uint64_t H = 0) : L(L), H(H) { }
|
|
|
|
template<uint64_t L_, uint64_t H_>
|
|
|
|
Type(local::TypeT<L_, H_>) : L(L_), H(H_) {}
|
|
|
|
Type& operator&=(const Type& rhs) { L &= rhs.L; H &= rhs.H; return *this; }
|
|
|
|
Type& operator|=(const Type& rhs) { L |= rhs.L; H |= rhs.H; return *this; }
|
|
|
|
Type operator&(const Type& rhs) const { Type t = *this; t &= rhs; return t; }
|
|
|
|
Type operator|(const Type& rhs) const { Type t = *this; t |= rhs; return t; }
|
|
|
|
bool operator==(const Type& rhs) const { return H == rhs.H && L == rhs.L; }
|
|
|
|
bool operator!=(const Type& rhs) const { return !operator==(rhs); }
|
|
|
|
// without explicit because backward compatilibity
|
|
|
|
operator bool() const { return (H | L) != 0; }
|
|
|
|
uint64_t getL() const { return L; }
|
|
|
|
uint64_t getH() const { return H; }
|
|
|
|
};
|
|
|
|
private:
|
|
|
|
Type type_;
|
2020-04-22 20:59:14 +01:00
|
|
|
//system topology
|
|
|
|
bool x2APIC_supported_;
|
|
|
|
static const size_t maxTopologyLevels = 2;
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t numCores_[maxTopologyLevels];
|
2020-04-22 20:59:14 +01:00
|
|
|
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
static const uint32_t maxNumberCacheLevels = 10;
|
|
|
|
uint32_t dataCacheSize_[maxNumberCacheLevels];
|
|
|
|
uint32_t coresSharignDataCache_[maxNumberCacheLevels];
|
|
|
|
uint32_t dataCacheLevels_;
|
2020-04-22 20:59:14 +01:00
|
|
|
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t get32bitAsBE(const char *x) const
|
2020-04-22 20:25:57 +01:00
|
|
|
{
|
|
|
|
return x[0] | (x[1] << 8) | (x[2] << 16) | (x[3] << 24);
|
|
|
|
}
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t mask(int n) const
|
2020-04-22 20:25:57 +01:00
|
|
|
{
|
|
|
|
return (1U << n) - 1;
|
|
|
|
}
|
|
|
|
void setFamily()
|
|
|
|
{
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t data[4] = {};
|
2020-04-22 20:25:57 +01:00
|
|
|
getCpuid(1, data);
|
|
|
|
stepping = data[0] & mask(4);
|
|
|
|
model = (data[0] >> 4) & mask(4);
|
|
|
|
family = (data[0] >> 8) & mask(4);
|
|
|
|
// type = (data[0] >> 12) & mask(2);
|
|
|
|
extModel = (data[0] >> 16) & mask(4);
|
|
|
|
extFamily = (data[0] >> 20) & mask(8);
|
|
|
|
if (family == 0x0f) {
|
|
|
|
displayFamily = family + extFamily;
|
|
|
|
} else {
|
|
|
|
displayFamily = family;
|
|
|
|
}
|
|
|
|
if (family == 6 || family == 0x0f) {
|
|
|
|
displayModel = (extModel << 4) + model;
|
|
|
|
} else {
|
|
|
|
displayModel = model;
|
|
|
|
}
|
|
|
|
}
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t extractBit(uint32_t val, uint32_t base, uint32_t end)
|
2020-04-22 20:51:10 +01:00
|
|
|
{
|
|
|
|
return (val >> base) & ((1u << (end - base)) - 1);
|
|
|
|
}
|
2020-04-22 20:59:14 +01:00
|
|
|
void setNumCores()
|
|
|
|
{
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
if (!has(tINTEL)) return;
|
2020-04-22 20:59:14 +01:00
|
|
|
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t data[4] = {};
|
2020-04-22 20:59:14 +01:00
|
|
|
|
|
|
|
/* CAUTION: These numbers are configuration as shipped by Intel. */
|
|
|
|
getCpuidEx(0x0, 0, data);
|
|
|
|
if (data[0] >= 0xB) {
|
|
|
|
/*
|
|
|
|
if leaf 11 exists(x2APIC is supported),
|
|
|
|
we use it to get the number of smt cores and cores on socket
|
|
|
|
|
|
|
|
leaf 0xB can be zeroed-out by a hypervisor
|
|
|
|
*/
|
|
|
|
x2APIC_supported_ = true;
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
for (uint32_t i = 0; i < maxTopologyLevels; i++) {
|
2020-04-22 20:59:14 +01:00
|
|
|
getCpuidEx(0xB, i, data);
|
|
|
|
IntelCpuTopologyLevel level = (IntelCpuTopologyLevel)extractBit(data[2], 8, 15);
|
|
|
|
if (level == SmtLevel || level == CoreLevel) {
|
|
|
|
numCores_[level - 1] = extractBit(data[1], 0, 15);
|
|
|
|
}
|
|
|
|
}
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
/*
|
|
|
|
Fallback values in case a hypervisor has 0xB leaf zeroed-out.
|
|
|
|
*/
|
|
|
|
numCores_[SmtLevel - 1] = (std::max)(1u, numCores_[SmtLevel - 1]);
|
|
|
|
numCores_[CoreLevel - 1] = (std::max)(numCores_[SmtLevel - 1], numCores_[CoreLevel - 1]);
|
2020-04-22 20:59:14 +01:00
|
|
|
} else {
|
|
|
|
/*
|
|
|
|
Failed to deremine num of cores without x2APIC support.
|
|
|
|
TODO: USE initial APIC ID to determine ncores.
|
|
|
|
*/
|
|
|
|
numCores_[SmtLevel - 1] = 0;
|
|
|
|
numCores_[CoreLevel - 1] = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
2020-04-22 20:51:10 +01:00
|
|
|
void setCacheHierarchy()
|
|
|
|
{
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
if (!has(tINTEL)) return;
|
|
|
|
const uint32_t NO_CACHE = 0;
|
|
|
|
const uint32_t DATA_CACHE = 1;
|
|
|
|
// const uint32_t INSTRUCTION_CACHE = 2;
|
|
|
|
const uint32_t UNIFIED_CACHE = 3;
|
|
|
|
uint32_t smt_width = 0;
|
|
|
|
uint32_t logical_cores = 0;
|
|
|
|
uint32_t data[4] = {};
|
2020-04-22 20:51:10 +01:00
|
|
|
|
2020-04-22 20:59:14 +01:00
|
|
|
if (x2APIC_supported_) {
|
|
|
|
smt_width = numCores_[0];
|
|
|
|
logical_cores = numCores_[1];
|
2020-04-22 20:51:10 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
Assumptions:
|
|
|
|
the first level of data cache is not shared (which is the
|
|
|
|
case for every existing architecture) and use this to
|
|
|
|
determine the SMT width for arch not supporting leaf 11.
|
2020-04-22 20:59:14 +01:00
|
|
|
when leaf 4 reports a number of core less than numCores_
|
2020-04-22 20:51:10 +01:00
|
|
|
on socket reported by leaf 11, then it is a correct number
|
|
|
|
of cores not an upperbound.
|
|
|
|
*/
|
2020-04-22 20:59:14 +01:00
|
|
|
for (int i = 0; dataCacheLevels_ < maxNumberCacheLevels; i++) {
|
2020-04-22 20:51:10 +01:00
|
|
|
getCpuidEx(0x4, i, data);
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t cacheType = extractBit(data[0], 0, 4);
|
2020-04-22 20:51:10 +01:00
|
|
|
if (cacheType == NO_CACHE) break;
|
|
|
|
if (cacheType == DATA_CACHE || cacheType == UNIFIED_CACHE) {
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t actual_logical_cores = extractBit(data[0], 14, 25) + 1;
|
2020-04-22 20:59:14 +01:00
|
|
|
if (logical_cores != 0) { // true only if leaf 0xB is supported and valid
|
|
|
|
actual_logical_cores = (std::min)(actual_logical_cores, logical_cores);
|
2020-04-22 20:51:10 +01:00
|
|
|
}
|
2020-04-22 20:59:14 +01:00
|
|
|
assert(actual_logical_cores != 0);
|
|
|
|
dataCacheSize_[dataCacheLevels_] =
|
2020-04-22 20:51:10 +01:00
|
|
|
(extractBit(data[1], 22, 31) + 1)
|
|
|
|
* (extractBit(data[1], 12, 21) + 1)
|
|
|
|
* (extractBit(data[1], 0, 11) + 1)
|
|
|
|
* (data[2] + 1);
|
2020-04-22 20:59:14 +01:00
|
|
|
if (cacheType == DATA_CACHE && smt_width == 0) smt_width = actual_logical_cores;
|
2020-04-22 20:51:10 +01:00
|
|
|
assert(smt_width != 0);
|
2020-04-22 20:59:14 +01:00
|
|
|
coresSharignDataCache_[dataCacheLevels_] = (std::max)(actual_logical_cores / smt_width, 1u);
|
|
|
|
dataCacheLevels_++;
|
2020-04-22 20:51:10 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-04-22 20:25:57 +01:00
|
|
|
public:
|
|
|
|
int model;
|
|
|
|
int family;
|
|
|
|
int stepping;
|
|
|
|
int extModel;
|
|
|
|
int extFamily;
|
|
|
|
int displayFamily; // family + extFamily
|
|
|
|
int displayModel; // model + extModel
|
2020-04-22 20:51:10 +01:00
|
|
|
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t getNumCores(IntelCpuTopologyLevel level) const {
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
if (!x2APIC_supported_) XBYAK_THROW_RET(ERR_X2APIC_IS_NOT_SUPPORTED, 0)
|
2020-04-22 20:59:14 +01:00
|
|
|
switch (level) {
|
|
|
|
case SmtLevel: return numCores_[level - 1];
|
|
|
|
case CoreLevel: return numCores_[level - 1] / numCores_[SmtLevel - 1];
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
default: XBYAK_THROW_RET(ERR_X2APIC_IS_NOT_SUPPORTED, 0)
|
2020-04-22 20:59:14 +01:00
|
|
|
}
|
|
|
|
}
|
2020-04-22 20:51:10 +01:00
|
|
|
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t getDataCacheLevels() const { return dataCacheLevels_; }
|
|
|
|
uint32_t getCoresSharingDataCache(uint32_t i) const
|
2020-04-22 20:51:10 +01:00
|
|
|
{
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
if (i >= dataCacheLevels_) XBYAK_THROW_RET(ERR_BAD_PARAMETER, 0)
|
2020-04-22 20:59:14 +01:00
|
|
|
return coresSharignDataCache_[i];
|
2020-04-22 20:51:10 +01:00
|
|
|
}
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t getDataCacheSize(uint32_t i) const
|
2020-04-22 20:51:10 +01:00
|
|
|
{
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
if (i >= dataCacheLevels_) XBYAK_THROW_RET(ERR_BAD_PARAMETER, 0)
|
2020-04-22 20:59:14 +01:00
|
|
|
return dataCacheSize_[i];
|
2020-04-22 20:51:10 +01:00
|
|
|
}
|
|
|
|
|
2020-04-22 20:25:57 +01:00
|
|
|
/*
|
|
|
|
data[] = { eax, ebx, ecx, edx }
|
|
|
|
*/
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
static inline void getCpuid(uint32_t eaxIn, uint32_t data[4])
|
2020-04-22 20:25:57 +01:00
|
|
|
{
|
2020-04-22 20:59:14 +01:00
|
|
|
#ifdef XBYAK_INTEL_CPU_SPECIFIC
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
#ifdef _WIN32
|
2020-04-22 20:25:57 +01:00
|
|
|
__cpuid(reinterpret_cast<int*>(data), eaxIn);
|
2020-04-22 20:59:14 +01:00
|
|
|
#else
|
2020-04-22 20:25:57 +01:00
|
|
|
__cpuid(eaxIn, data[0], data[1], data[2], data[3]);
|
2020-04-22 20:59:14 +01:00
|
|
|
#endif
|
|
|
|
#else
|
|
|
|
(void)eaxIn;
|
|
|
|
(void)data;
|
2020-04-22 20:25:57 +01:00
|
|
|
#endif
|
|
|
|
}
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
static inline void getCpuidEx(uint32_t eaxIn, uint32_t ecxIn, uint32_t data[4])
|
2020-04-22 20:25:57 +01:00
|
|
|
{
|
2020-04-22 20:59:14 +01:00
|
|
|
#ifdef XBYAK_INTEL_CPU_SPECIFIC
|
|
|
|
#ifdef _MSC_VER
|
2020-04-22 20:25:57 +01:00
|
|
|
__cpuidex(reinterpret_cast<int*>(data), eaxIn, ecxIn);
|
2020-04-22 20:59:14 +01:00
|
|
|
#else
|
2020-04-22 20:25:57 +01:00
|
|
|
__cpuid_count(eaxIn, ecxIn, data[0], data[1], data[2], data[3]);
|
2020-04-22 20:59:14 +01:00
|
|
|
#endif
|
|
|
|
#else
|
|
|
|
(void)eaxIn;
|
|
|
|
(void)ecxIn;
|
|
|
|
(void)data;
|
2020-04-22 20:25:57 +01:00
|
|
|
#endif
|
|
|
|
}
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
static inline uint64_t getXfeature()
|
2020-04-22 20:25:57 +01:00
|
|
|
{
|
2020-04-22 20:59:14 +01:00
|
|
|
#ifdef XBYAK_INTEL_CPU_SPECIFIC
|
|
|
|
#ifdef _MSC_VER
|
2020-04-22 20:25:57 +01:00
|
|
|
return _xgetbv(0);
|
2020-04-22 20:59:14 +01:00
|
|
|
#else
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t eax, edx;
|
2020-04-22 20:25:57 +01:00
|
|
|
// xgetvb is not support on gcc 4.2
|
|
|
|
// __asm__ volatile("xgetbv" : "=a"(eax), "=d"(edx) : "c"(0));
|
|
|
|
__asm__ volatile(".byte 0x0f, 0x01, 0xd0" : "=a"(eax), "=d"(edx) : "c"(0));
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
return ((uint64_t)edx << 32) | eax;
|
2020-04-22 20:59:14 +01:00
|
|
|
#endif
|
|
|
|
#else
|
|
|
|
return 0;
|
2020-04-22 20:25:57 +01:00
|
|
|
#endif
|
|
|
|
}
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
|
2022-06-16 06:53:34 +01:00
|
|
|
#define XBYAK_SPLIT_ID(id) ((0 <= id && id < 64) ? (1ull << (id % 64)) : 0), (id >= 64 ? (1ull << (id % 64)) : 0)
|
|
|
|
#if (__cplusplus >= 201103) || (defined(_MSC_VER) && (_MSC_VER >= 1700)) /* VS2012 */
|
|
|
|
#define XBYAK_DEFINE_TYPE(id, NAME) static const constexpr local::TypeT<XBYAK_SPLIT_ID(id)> NAME{}
|
|
|
|
#else
|
|
|
|
#define XBYAK_DEFINE_TYPE(id, NAME) static const local::TypeT<XBYAK_SPLIT_ID(id)> NAME
|
|
|
|
#endif
|
|
|
|
XBYAK_DEFINE_TYPE(0, tMMX);
|
|
|
|
XBYAK_DEFINE_TYPE(1, tMMX2);
|
|
|
|
XBYAK_DEFINE_TYPE(2, tCMOV);
|
|
|
|
XBYAK_DEFINE_TYPE(3, tSSE);
|
|
|
|
XBYAK_DEFINE_TYPE(4, tSSE2);
|
|
|
|
XBYAK_DEFINE_TYPE(5, tSSE3);
|
|
|
|
XBYAK_DEFINE_TYPE(6, tSSSE3);
|
|
|
|
XBYAK_DEFINE_TYPE(7, tSSE41);
|
|
|
|
XBYAK_DEFINE_TYPE(8, tSSE42);
|
|
|
|
XBYAK_DEFINE_TYPE(9, tPOPCNT);
|
|
|
|
XBYAK_DEFINE_TYPE(10, tAESNI);
|
|
|
|
XBYAK_DEFINE_TYPE(11, tAVX512_FP16);
|
|
|
|
XBYAK_DEFINE_TYPE(12, tOSXSAVE);
|
|
|
|
XBYAK_DEFINE_TYPE(13, tPCLMULQDQ);
|
|
|
|
XBYAK_DEFINE_TYPE(14, tAVX);
|
|
|
|
XBYAK_DEFINE_TYPE(15, tFMA);
|
|
|
|
XBYAK_DEFINE_TYPE(16, t3DN);
|
|
|
|
XBYAK_DEFINE_TYPE(17, tE3DN);
|
|
|
|
XBYAK_DEFINE_TYPE(18, tWAITPKG);
|
|
|
|
XBYAK_DEFINE_TYPE(19, tRDTSCP);
|
|
|
|
XBYAK_DEFINE_TYPE(20, tAVX2);
|
|
|
|
XBYAK_DEFINE_TYPE(21, tBMI1); // andn, bextr, blsi, blsmsk, blsr, tzcnt
|
|
|
|
XBYAK_DEFINE_TYPE(22, tBMI2); // bzhi, mulx, pdep, pext, rorx, sarx, shlx, shrx
|
|
|
|
XBYAK_DEFINE_TYPE(23, tLZCNT);
|
|
|
|
XBYAK_DEFINE_TYPE(24, tINTEL);
|
|
|
|
XBYAK_DEFINE_TYPE(25, tAMD);
|
|
|
|
XBYAK_DEFINE_TYPE(26, tENHANCED_REP); // enhanced rep movsb/stosb
|
|
|
|
XBYAK_DEFINE_TYPE(27, tRDRAND);
|
|
|
|
XBYAK_DEFINE_TYPE(28, tADX); // adcx, adox
|
|
|
|
XBYAK_DEFINE_TYPE(29, tRDSEED); // rdseed
|
|
|
|
XBYAK_DEFINE_TYPE(30, tSMAP); // stac
|
|
|
|
XBYAK_DEFINE_TYPE(31, tHLE); // xacquire, xrelease, xtest
|
|
|
|
XBYAK_DEFINE_TYPE(32, tRTM); // xbegin, xend, xabort
|
|
|
|
XBYAK_DEFINE_TYPE(33, tF16C); // vcvtph2ps, vcvtps2ph
|
|
|
|
XBYAK_DEFINE_TYPE(34, tMOVBE); // mobve
|
|
|
|
XBYAK_DEFINE_TYPE(35, tAVX512F);
|
|
|
|
XBYAK_DEFINE_TYPE(36, tAVX512DQ);
|
|
|
|
XBYAK_DEFINE_TYPE(37, tAVX512_IFMA);
|
|
|
|
XBYAK_DEFINE_TYPE(37, tAVX512IFMA);// = tAVX512_IFMA;
|
|
|
|
XBYAK_DEFINE_TYPE(38, tAVX512PF);
|
|
|
|
XBYAK_DEFINE_TYPE(39, tAVX512ER);
|
|
|
|
XBYAK_DEFINE_TYPE(40, tAVX512CD);
|
|
|
|
XBYAK_DEFINE_TYPE(41, tAVX512BW);
|
|
|
|
XBYAK_DEFINE_TYPE(42, tAVX512VL);
|
|
|
|
XBYAK_DEFINE_TYPE(43, tAVX512_VBMI);
|
|
|
|
XBYAK_DEFINE_TYPE(43, tAVX512VBMI); // = tAVX512_VBMI; // changed by Intel's manual
|
|
|
|
XBYAK_DEFINE_TYPE(44, tAVX512_4VNNIW);
|
|
|
|
XBYAK_DEFINE_TYPE(45, tAVX512_4FMAPS);
|
|
|
|
XBYAK_DEFINE_TYPE(46, tPREFETCHWT1);
|
|
|
|
XBYAK_DEFINE_TYPE(47, tPREFETCHW);
|
|
|
|
XBYAK_DEFINE_TYPE(48, tSHA);
|
|
|
|
XBYAK_DEFINE_TYPE(49, tMPX);
|
|
|
|
XBYAK_DEFINE_TYPE(50, tAVX512_VBMI2);
|
|
|
|
XBYAK_DEFINE_TYPE(51, tGFNI);
|
|
|
|
XBYAK_DEFINE_TYPE(52, tVAES);
|
|
|
|
XBYAK_DEFINE_TYPE(53, tVPCLMULQDQ);
|
|
|
|
XBYAK_DEFINE_TYPE(54, tAVX512_VNNI);
|
|
|
|
XBYAK_DEFINE_TYPE(55, tAVX512_BITALG);
|
|
|
|
XBYAK_DEFINE_TYPE(56, tAVX512_VPOPCNTDQ);
|
|
|
|
XBYAK_DEFINE_TYPE(57, tAVX512_BF16);
|
|
|
|
XBYAK_DEFINE_TYPE(58, tAVX512_VP2INTERSECT);
|
|
|
|
XBYAK_DEFINE_TYPE(59, tAMX_TILE);
|
|
|
|
XBYAK_DEFINE_TYPE(60, tAMX_INT8);
|
|
|
|
XBYAK_DEFINE_TYPE(61, tAMX_BF16);
|
|
|
|
XBYAK_DEFINE_TYPE(62, tAVX_VNNI);
|
|
|
|
XBYAK_DEFINE_TYPE(63, tCLFLUSHOPT);
|
|
|
|
XBYAK_DEFINE_TYPE(64, tCLDEMOTE);
|
|
|
|
XBYAK_DEFINE_TYPE(65, tMOVDIRI);
|
|
|
|
XBYAK_DEFINE_TYPE(66, tMOVDIR64B);
|
|
|
|
XBYAK_DEFINE_TYPE(67, tCLZERO); // AMD Zen
|
|
|
|
|
|
|
|
#undef XBYAK_SPLIT_ID
|
|
|
|
#undef XBYAK_DEFINE_TYPE
|
2020-04-22 20:25:57 +01:00
|
|
|
|
|
|
|
Cpu()
|
2022-06-16 06:53:34 +01:00
|
|
|
: type_()
|
2020-04-22 20:59:14 +01:00
|
|
|
, x2APIC_supported_(false)
|
|
|
|
, numCores_()
|
|
|
|
, dataCacheSize_()
|
|
|
|
, coresSharignDataCache_()
|
|
|
|
, dataCacheLevels_(0)
|
2020-04-22 20:25:57 +01:00
|
|
|
{
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t data[4] = {};
|
|
|
|
const uint32_t& EAX = data[0];
|
|
|
|
const uint32_t& EBX = data[1];
|
|
|
|
const uint32_t& ECX = data[2];
|
|
|
|
const uint32_t& EDX = data[3];
|
2020-04-22 20:25:57 +01:00
|
|
|
getCpuid(0, data);
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
const uint32_t maxNum = EAX;
|
2020-04-22 20:25:57 +01:00
|
|
|
static const char intel[] = "ntel";
|
|
|
|
static const char amd[] = "cAMD";
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (ECX == get32bitAsBE(amd)) {
|
2020-04-22 20:25:57 +01:00
|
|
|
type_ |= tAMD;
|
|
|
|
getCpuid(0x80000001, data);
|
2021-03-27 21:08:22 +00:00
|
|
|
if (EDX & (1U << 31)) {
|
|
|
|
type_ |= t3DN;
|
|
|
|
// 3DNow! implies support for PREFETCHW on AMD
|
|
|
|
type_ |= tPREFETCHW;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (EDX & (1U << 29)) {
|
|
|
|
// Long mode implies support for PREFETCHW on AMD
|
|
|
|
type_ |= tPREFETCHW;
|
|
|
|
}
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (ECX == get32bitAsBE(intel)) {
|
2020-04-22 20:25:57 +01:00
|
|
|
type_ |= tINTEL;
|
2021-03-27 21:08:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Extended flags information
|
|
|
|
getCpuid(0x80000000, data);
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
const uint32_t maxExtendedNum = EAX;
|
|
|
|
if (maxExtendedNum >= 0x80000001) {
|
2020-04-22 20:25:57 +01:00
|
|
|
getCpuid(0x80000001, data);
|
2021-03-27 21:08:22 +00:00
|
|
|
|
|
|
|
if (EDX & (1U << 31)) type_ |= t3DN;
|
|
|
|
if (EDX & (1U << 30)) type_ |= tE3DN;
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (EDX & (1U << 27)) type_ |= tRDTSCP;
|
2021-03-27 21:08:22 +00:00
|
|
|
if (EDX & (1U << 22)) type_ |= tMMX2;
|
|
|
|
if (EDX & (1U << 15)) type_ |= tCMOV;
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (ECX & (1U << 5)) type_ |= tLZCNT;
|
|
|
|
if (ECX & (1U << 8)) type_ |= tPREFETCHW;
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
2021-03-27 21:08:22 +00:00
|
|
|
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
if (maxExtendedNum >= 0x80000008) {
|
|
|
|
getCpuid(0x80000008, data);
|
|
|
|
if (EBX & (1U << 0)) type_ |= tCLZERO;
|
|
|
|
}
|
|
|
|
|
2020-04-22 20:25:57 +01:00
|
|
|
getCpuid(1, data);
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (ECX & (1U << 0)) type_ |= tSSE3;
|
|
|
|
if (ECX & (1U << 9)) type_ |= tSSSE3;
|
|
|
|
if (ECX & (1U << 19)) type_ |= tSSE41;
|
|
|
|
if (ECX & (1U << 20)) type_ |= tSSE42;
|
|
|
|
if (ECX & (1U << 22)) type_ |= tMOVBE;
|
|
|
|
if (ECX & (1U << 23)) type_ |= tPOPCNT;
|
|
|
|
if (ECX & (1U << 25)) type_ |= tAESNI;
|
|
|
|
if (ECX & (1U << 1)) type_ |= tPCLMULQDQ;
|
|
|
|
if (ECX & (1U << 27)) type_ |= tOSXSAVE;
|
|
|
|
if (ECX & (1U << 30)) type_ |= tRDRAND;
|
|
|
|
if (ECX & (1U << 29)) type_ |= tF16C;
|
2020-04-22 20:25:57 +01:00
|
|
|
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (EDX & (1U << 15)) type_ |= tCMOV;
|
|
|
|
if (EDX & (1U << 23)) type_ |= tMMX;
|
|
|
|
if (EDX & (1U << 25)) type_ |= tMMX2 | tSSE;
|
|
|
|
if (EDX & (1U << 26)) type_ |= tSSE2;
|
2020-04-22 20:25:57 +01:00
|
|
|
|
|
|
|
if (type_ & tOSXSAVE) {
|
|
|
|
// check XFEATURE_ENABLED_MASK[2:1] = '11b'
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
uint64_t bv = getXfeature();
|
2020-04-22 20:25:57 +01:00
|
|
|
if ((bv & 6) == 6) {
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (ECX & (1U << 28)) type_ |= tAVX;
|
|
|
|
if (ECX & (1U << 12)) type_ |= tFMA;
|
2021-03-27 21:08:22 +00:00
|
|
|
// do *not* check AVX-512 state on macOS because it has on-demand AVX-512 support
|
|
|
|
#if !defined(__APPLE__)
|
|
|
|
if (((bv >> 5) & 7) == 7)
|
|
|
|
#endif
|
|
|
|
{
|
2020-04-22 20:25:57 +01:00
|
|
|
getCpuidEx(7, 0, data);
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (EBX & (1U << 16)) type_ |= tAVX512F;
|
2020-04-22 20:25:57 +01:00
|
|
|
if (type_ & tAVX512F) {
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (EBX & (1U << 17)) type_ |= tAVX512DQ;
|
|
|
|
if (EBX & (1U << 21)) type_ |= tAVX512_IFMA;
|
|
|
|
if (EBX & (1U << 26)) type_ |= tAVX512PF;
|
|
|
|
if (EBX & (1U << 27)) type_ |= tAVX512ER;
|
|
|
|
if (EBX & (1U << 28)) type_ |= tAVX512CD;
|
|
|
|
if (EBX & (1U << 30)) type_ |= tAVX512BW;
|
|
|
|
if (EBX & (1U << 31)) type_ |= tAVX512VL;
|
|
|
|
if (ECX & (1U << 1)) type_ |= tAVX512_VBMI;
|
|
|
|
if (ECX & (1U << 6)) type_ |= tAVX512_VBMI2;
|
|
|
|
if (ECX & (1U << 11)) type_ |= tAVX512_VNNI;
|
|
|
|
if (ECX & (1U << 12)) type_ |= tAVX512_BITALG;
|
|
|
|
if (ECX & (1U << 14)) type_ |= tAVX512_VPOPCNTDQ;
|
|
|
|
if (EDX & (1U << 2)) type_ |= tAVX512_4VNNIW;
|
|
|
|
if (EDX & (1U << 3)) type_ |= tAVX512_4FMAPS;
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
if (EDX & (1U << 8)) type_ |= tAVX512_VP2INTERSECT;
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
if ((type_ & tAVX512BW) && (EDX & (1U << 23))) type_ |= tAVX512_FP16;
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
}
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (maxNum >= 7) {
|
|
|
|
getCpuidEx(7, 0, data);
|
2021-03-27 21:08:22 +00:00
|
|
|
const uint32_t maxNumSubLeaves = EAX;
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (type_ & tAVX && (EBX & (1U << 5))) type_ |= tAVX2;
|
|
|
|
if (EBX & (1U << 3)) type_ |= tBMI1;
|
|
|
|
if (EBX & (1U << 8)) type_ |= tBMI2;
|
|
|
|
if (EBX & (1U << 9)) type_ |= tENHANCED_REP;
|
|
|
|
if (EBX & (1U << 18)) type_ |= tRDSEED;
|
|
|
|
if (EBX & (1U << 19)) type_ |= tADX;
|
|
|
|
if (EBX & (1U << 20)) type_ |= tSMAP;
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
if (EBX & (1U << 23)) type_ |= tCLFLUSHOPT;
|
Squashed 'externals/xbyak/' changes from d512551e..2794cde7
2794cde7 add xword, yword, etc. in Xbyak::util
fb9c04e4 fix document for vfpclassps
a51be78b fix test dependency
04fdfb1e update version
e6354f8b add vgf2p8mulb
09a12642 add gf2p8affineqb
d171ba0e add gf2p8affineinvqb
457f4fd0 add vpshufbitqmb
5af0ba39 add vpexpand{b,w}
e450f965 vpopcnt{d,q} supports ptr_b
48499eb1 add vpdpbusd(s), vpdpwssd(s)
9c745109 add vpdpbusd, vpdpbusds
0e1a11b4 add vpopcnt{b,w,d,q}
9acfc132 add vpshrd(v){w,d,q}
ac8de850 add vpshld(v){w,d,q}
f181c259 add vcompressb, vcompressw
5a402477 vpclmulqdq supports AVX-512
9e16b40b vaes* supports AVX-512
7fde08e0 add flags for intel's manual 319433-030.pdf
c5da3778 add test of v4fmaddps, vp4dpwssd, etc.
e4fc9d8a fix mpx encoding
d0b2fb62 add bnd(0xf2) prefix for MPX
f12b5678 use db for array
cd74ab44 remove bat file
git-subtree-dir: externals/xbyak
git-subtree-split: 2794cde79eb71e86490061cac9622ad0067b8d15
2020-04-22 20:45:52 +01:00
|
|
|
if (EBX & (1U << 4)) type_ |= tHLE;
|
|
|
|
if (EBX & (1U << 11)) type_ |= tRTM;
|
|
|
|
if (EBX & (1U << 14)) type_ |= tMPX;
|
|
|
|
if (EBX & (1U << 29)) type_ |= tSHA;
|
|
|
|
if (ECX & (1U << 0)) type_ |= tPREFETCHWT1;
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
if (ECX & (1U << 5)) type_ |= tWAITPKG;
|
2022-07-31 17:50:57 +01:00
|
|
|
if (ECX & (1U << 8)) type_ |= tGFNI;
|
|
|
|
if (ECX & (1U << 9)) type_ |= tVAES;
|
|
|
|
if (ECX & (1U << 10)) type_ |= tVPCLMULQDQ;
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
if (ECX & (1U << 25)) type_ |= tCLDEMOTE;
|
|
|
|
if (ECX & (1U << 27)) type_ |= tMOVDIRI;
|
|
|
|
if (ECX & (1U << 28)) type_ |= tMOVDIR64B;
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
if (EDX & (1U << 24)) type_ |= tAMX_TILE;
|
|
|
|
if (EDX & (1U << 25)) type_ |= tAMX_INT8;
|
|
|
|
if (EDX & (1U << 22)) type_ |= tAMX_BF16;
|
2021-03-27 21:08:22 +00:00
|
|
|
if (maxNumSubLeaves >= 1) {
|
|
|
|
getCpuidEx(7, 1, data);
|
|
|
|
if (EAX & (1U << 4)) type_ |= tAVX_VNNI;
|
|
|
|
if (type_ & tAVX512F) {
|
|
|
|
if (EAX & (1U << 5)) type_ |= tAVX512_BF16;
|
|
|
|
}
|
|
|
|
}
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
setFamily();
|
2020-04-22 20:59:14 +01:00
|
|
|
setNumCores();
|
2020-04-22 20:51:10 +01:00
|
|
|
setCacheHierarchy();
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
void putFamily() const
|
|
|
|
{
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
#ifndef XBYAK_ONLY_CLASS_CPU
|
2020-04-22 20:25:57 +01:00
|
|
|
printf("family=%d, model=%X, stepping=%d, extFamily=%d, extModel=%X\n",
|
|
|
|
family, model, stepping, extFamily, extModel);
|
|
|
|
printf("display:family=%X, model=%X\n", displayFamily, displayModel);
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
#endif
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
bool has(const Type& type) const
|
2020-04-22 20:25:57 +01:00
|
|
|
{
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
return (type & type_) == type;
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
#ifndef XBYAK_ONLY_CLASS_CPU
|
2020-04-22 20:25:57 +01:00
|
|
|
class Clock {
|
|
|
|
public:
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
static inline uint64_t getRdtsc()
|
2020-04-22 20:25:57 +01:00
|
|
|
{
|
2020-04-22 20:59:14 +01:00
|
|
|
#ifdef XBYAK_INTEL_CPU_SPECIFIC
|
|
|
|
#ifdef _MSC_VER
|
2020-04-22 20:25:57 +01:00
|
|
|
return __rdtsc();
|
2020-04-22 20:59:14 +01:00
|
|
|
#else
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
uint32_t eax, edx;
|
2020-04-22 20:25:57 +01:00
|
|
|
__asm__ volatile("rdtsc" : "=a"(eax), "=d"(edx));
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
return ((uint64_t)edx << 32) | eax;
|
2020-04-22 20:59:14 +01:00
|
|
|
#endif
|
|
|
|
#else
|
|
|
|
// TODO: Need another impl of Clock or rdtsc-equivalent for non-x86 cpu
|
|
|
|
return 0;
|
2020-04-22 20:25:57 +01:00
|
|
|
#endif
|
|
|
|
}
|
|
|
|
Clock()
|
|
|
|
: clock_(0)
|
|
|
|
, count_(0)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
void begin()
|
|
|
|
{
|
|
|
|
clock_ -= getRdtsc();
|
|
|
|
}
|
|
|
|
void end()
|
|
|
|
{
|
|
|
|
clock_ += getRdtsc();
|
|
|
|
count_++;
|
|
|
|
}
|
|
|
|
int getCount() const { return count_; }
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
uint64_t getClock() const { return clock_; }
|
2020-04-22 20:25:57 +01:00
|
|
|
void clear() { count_ = 0; clock_ = 0; }
|
|
|
|
private:
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
uint64_t clock_;
|
2020-04-22 20:25:57 +01:00
|
|
|
int count_;
|
|
|
|
};
|
|
|
|
|
|
|
|
#ifdef XBYAK64
|
|
|
|
const int UseRCX = 1 << 6;
|
|
|
|
const int UseRDX = 1 << 7;
|
|
|
|
|
|
|
|
class Pack {
|
2020-04-22 20:59:14 +01:00
|
|
|
static const size_t maxTblNum = 15;
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
Xbyak::Reg64 tbl_[maxTblNum];
|
2020-04-22 20:25:57 +01:00
|
|
|
size_t n_;
|
|
|
|
public:
|
|
|
|
Pack() : tbl_(), n_(0) {}
|
|
|
|
Pack(const Xbyak::Reg64 *tbl, size_t n) { init(tbl, n); }
|
|
|
|
Pack(const Pack& rhs)
|
|
|
|
: n_(rhs.n_)
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < n_; i++) tbl_[i] = rhs.tbl_[i];
|
|
|
|
}
|
|
|
|
Pack& operator=(const Pack& rhs)
|
|
|
|
{
|
|
|
|
n_ = rhs.n_;
|
|
|
|
for (size_t i = 0; i < n_; i++) tbl_[i] = rhs.tbl_[i];
|
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
Pack(const Xbyak::Reg64& t0)
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
{ n_ = 1; tbl_[0] = t0; }
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack(const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
{ n_ = 2; tbl_[0] = t0; tbl_[1] = t1; }
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack(const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
{ n_ = 3; tbl_[0] = t0; tbl_[1] = t1; tbl_[2] = t2; }
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack(const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
{ n_ = 4; tbl_[0] = t0; tbl_[1] = t1; tbl_[2] = t2; tbl_[3] = t3; }
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack(const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
{ n_ = 5; tbl_[0] = t0; tbl_[1] = t1; tbl_[2] = t2; tbl_[3] = t3; tbl_[4] = t4; }
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack(const Xbyak::Reg64& t5, const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
{ n_ = 6; tbl_[0] = t0; tbl_[1] = t1; tbl_[2] = t2; tbl_[3] = t3; tbl_[4] = t4; tbl_[5] = t5; }
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack(const Xbyak::Reg64& t6, const Xbyak::Reg64& t5, const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
{ n_ = 7; tbl_[0] = t0; tbl_[1] = t1; tbl_[2] = t2; tbl_[3] = t3; tbl_[4] = t4; tbl_[5] = t5; tbl_[6] = t6; }
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack(const Xbyak::Reg64& t7, const Xbyak::Reg64& t6, const Xbyak::Reg64& t5, const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
{ n_ = 8; tbl_[0] = t0; tbl_[1] = t1; tbl_[2] = t2; tbl_[3] = t3; tbl_[4] = t4; tbl_[5] = t5; tbl_[6] = t6; tbl_[7] = t7; }
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack(const Xbyak::Reg64& t8, const Xbyak::Reg64& t7, const Xbyak::Reg64& t6, const Xbyak::Reg64& t5, const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
{ n_ = 9; tbl_[0] = t0; tbl_[1] = t1; tbl_[2] = t2; tbl_[3] = t3; tbl_[4] = t4; tbl_[5] = t5; tbl_[6] = t6; tbl_[7] = t7; tbl_[8] = t8; }
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack(const Xbyak::Reg64& t9, const Xbyak::Reg64& t8, const Xbyak::Reg64& t7, const Xbyak::Reg64& t6, const Xbyak::Reg64& t5, const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
{ n_ = 10; tbl_[0] = t0; tbl_[1] = t1; tbl_[2] = t2; tbl_[3] = t3; tbl_[4] = t4; tbl_[5] = t5; tbl_[6] = t6; tbl_[7] = t7; tbl_[8] = t8; tbl_[9] = t9; }
|
|
|
|
Pack(const Xbyak::Reg64& ta, const Xbyak::Reg64& t9, const Xbyak::Reg64& t8, const Xbyak::Reg64& t7, const Xbyak::Reg64& t6, const Xbyak::Reg64& t5, const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
|
|
|
{ n_ = 11; tbl_[0] = t0; tbl_[1] = t1; tbl_[2] = t2; tbl_[3] = t3; tbl_[4] = t4; tbl_[5] = t5; tbl_[6] = t6; tbl_[7] = t7; tbl_[8] = t8; tbl_[9] = t9; tbl_[10] = ta; }
|
|
|
|
Pack(const Xbyak::Reg64& tb, const Xbyak::Reg64& ta, const Xbyak::Reg64& t9, const Xbyak::Reg64& t8, const Xbyak::Reg64& t7, const Xbyak::Reg64& t6, const Xbyak::Reg64& t5, const Xbyak::Reg64& t4, const Xbyak::Reg64& t3, const Xbyak::Reg64& t2, const Xbyak::Reg64& t1, const Xbyak::Reg64& t0)
|
|
|
|
{ n_ = 12; tbl_[0] = t0; tbl_[1] = t1; tbl_[2] = t2; tbl_[3] = t3; tbl_[4] = t4; tbl_[5] = t5; tbl_[6] = t6; tbl_[7] = t7; tbl_[8] = t8; tbl_[9] = t9; tbl_[10] = ta; tbl_[11] = tb; }
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack& append(const Xbyak::Reg64& t)
|
|
|
|
{
|
|
|
|
if (n_ == maxTblNum) {
|
|
|
|
fprintf(stderr, "ERR Pack::can't append\n");
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
XBYAK_THROW_RET(ERR_BAD_PARAMETER, *this)
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
tbl_[n_++] = t;
|
2020-04-22 20:25:57 +01:00
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
void init(const Xbyak::Reg64 *tbl, size_t n)
|
|
|
|
{
|
|
|
|
if (n > maxTblNum) {
|
|
|
|
fprintf(stderr, "ERR Pack::init bad n=%d\n", (int)n);
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
XBYAK_THROW(ERR_BAD_PARAMETER)
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
n_ = n;
|
|
|
|
for (size_t i = 0; i < n; i++) {
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
tbl_[i] = tbl[i];
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
const Xbyak::Reg64& operator[](size_t n) const
|
|
|
|
{
|
|
|
|
if (n >= n_) {
|
2020-04-22 20:59:14 +01:00
|
|
|
fprintf(stderr, "ERR Pack bad n=%d(%d)\n", (int)n, (int)n_);
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
XBYAK_THROW_RET(ERR_BAD_PARAMETER, rax)
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
return tbl_[n];
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
size_t size() const { return n_; }
|
|
|
|
/*
|
|
|
|
get tbl[pos, pos + num)
|
|
|
|
*/
|
|
|
|
Pack sub(size_t pos, size_t num = size_t(-1)) const
|
|
|
|
{
|
|
|
|
if (num == size_t(-1)) num = n_ - pos;
|
|
|
|
if (pos + num > n_) {
|
|
|
|
fprintf(stderr, "ERR Pack::sub bad pos=%d, num=%d\n", (int)pos, (int)num);
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
XBYAK_THROW_RET(ERR_BAD_PARAMETER, Pack())
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
Pack pack;
|
|
|
|
pack.n_ = num;
|
|
|
|
for (size_t i = 0; i < num; i++) {
|
|
|
|
pack.tbl_[i] = tbl_[pos + i];
|
|
|
|
}
|
|
|
|
return pack;
|
|
|
|
}
|
|
|
|
void put() const
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < n_; i++) {
|
Squashed 'externals/xbyak/' changes from 590c10e37..9357732aa
9357732aa v6.06
b161a3eb7 update changelog
e5453b064 Merge branch 'dev'
2a265d9d9 memfd: keep file descriptor open during allocation lifetime
31ff018ed replace unsigned int with uint32_t in xbyak_util.h
e427b2231 move Type into Cpu
8cf41063b refactoring Cpu
66d62968d add -cpuid to test_util
cf7cb744c add comments
028112949 add detection of clzero
c88007b03 update doc
4cb2e77a9 v6.052
015c27cf6 Merge branch 'dev'
d808f9ecb add test of Cpu::has
b48a7bb1b add operator== to Type
1a90f456c v6.051
96cb1d660 update changelog
1f5a77f56 Merge branch 'dev'
87e14f02a add test with noexception
30144f809 fix error when XBYAK_NO_EXCEPTION is defined
ec15751df Merge branch 'dev'
4831b3fb3 v6.05
9ddf251f3 remove debug code
905b31bab fix typo
72d1ac118 add movdir64b
a6665996b add detection of movdir64b
92ddc6dfd remove Type::operator<<() because it's ambiguous
9cdd40f5e add detection of movdiri
379f8bf37 add movdiri
0ad6db138 fix cldemote test for 32-bit
84ab46bb3 add cldemote to Cpu
a84ddc12d support cldemote
3a6cc626e add clwb
38c40c02e detection of clflushopt
c061ac839 avoid unnecessary replacement in readme.md
095ebbff1 extend Cpu::Type to 128 bit
3ea8e45d3 Merge branch 'dev'
f7bfc2634 v6.041
ab4e52d67 update doc
2bef54399 include intrin.h on mingw
621ed0775 Merge branch 'dev'
4f5893e1e memfd_create: disable for ANDROID_API < 30
684d69db0 Merge branch 'dev'
ea88b6d85 disable warning on mingw
7e8923fa5 add colon
9914216bd Merge branch 'dev'
b335602ff [skip ci] tweak doc
25fbb3996 tweak doc
122054dc4 Formatted Supported OS Section
d4fa7e46b Reworked Authors Section
9e4b64a74 Adjusted Spacing
ff9fdb45f Use Github Sponsor Widget
893b31d46 Added Quicklinks
2d2adf78b Added License Badge
335b5941b Formatted Header
70603addf Moved Install / Usage Into Dedicated Files
1659d28fe Moved History Into Dedicated File
fb953284b Merge branch 'dev'
dbd96b277 add news
898c354e6 v6.04
f8e2ad1e9 add waitpkg detection to Cpu
a220fd69a add umwait
64ec053e6 add umonitor
764d54f6f add tpause
c68646e8d remove warning of vc
4e8214ca2 Merge branch 'dev'
360f4b673 test badSSE only for 32-bit mode
a9fddc454 fix typo of readme
250b5dc39 fix typo of readme
c46e92756 Merge branch 'dev'
31b7cd350 v6.03
a2f9ed085 rename isValidXMm to isValidSSE
2bc8fcbd3 add tests to badSSE
6de93fb88 add baseSSE test
e2eda384c update doc
71a7b1773 fix condition to throw error for SSE instructions when using XMM16-XMM31
615b665cc sample/memfd shows /proc/self/maps
2861517f2 add memfd sample
507b0285e apt update at first
452c07f77 typedef for no-MmapAllocator
8af6e2026 minimize diff
0af3b5d07 Allocator: take optional name parameter and use it with memfd
a67e24505 Merge branch 'dev'
b3892c15e Merge pull request #138 from Tachi107/make-cxx-cpp-ld-flags
b4eddaced build(make): honour CXXFLAGS, CPPFLAGS and LDFLAGS
fbe60e590 test generates only a.asm
0a4a7571d Merge branch 'patch-1' of https://github.com/Tachi107/xbyak into Tachi107-patch-1
55b9f131b build(make): fix clean target in test/Makefile
7aef3ff54 Merge branch 'dev'
82e0deb8a v6.02
4d9906a94 fix condition to throw error for invalid displacements
c79311a51 fix test_util.cpp
9b2c175b3 Merge branch 'dev'
06d797e33 Allow parallel feature checks
2a85bba3f Merge branch 'dev'
8d5af80a6 v6.01
df39606fe update doc
08f11817c supprt retf
1abfc3465 support call(mem, T_FAR)
fb158f901 support jmp(mem, T_FAR)
9be47ceb2 Merge branch 'lioncash-hlt' into dev
3162eb16f add test of hlt
bb55725a9 xbyak: Add hlt opcode function
47cf85fdb fix conflict
b29e471ea build(meson): fix CMake Config file include dir
2cc21925f delete the sentences translated into Japanese from COPYRIGHT
dca3930de remove tabs
cecd204a5 Merge pull request #129 from Tachi107/meson-cmake-config
345de8a54 build(meson): generate CMake package config files
e831805cc revert change of the type of Pack::util::operator[]
fc9d953e5 util::Pack has not pointer but instance of Reg64
0868c54a9 use _WIN32 instead of _MSC_VER for mingw64
894a1b14a use original uint8_t
dfc079ca1 add cstrs of Xbyak::util::Pack for 11 or 12 args
06e8f531f Merge branch 'Tachi107-meson' into dev
ef90b6bd2 Makefile updates the version of meson.build
0000938f5 build: add Meson support This allows Meson users to use xbyak more easly, while it also provides a pkg-config file generator, useful to Linux distributions
757e4063f v6.00
b3489f548 add vcvtusi2sh
16d9898ab add vcvtsi2sh
cfc03cb8f unify T_66, T_F3, T_F2 flags
02fa7057d add vcvttph2qq
4e72a9dc4 add vcvttsh2usi
05d08e05b add vcvttsh2si
621e6548c add vcvtsh2usi
34abda5c5 extend vcvtps2ph
facd622b2 add vcvtw2ph
270af1cb2 add vcvtuw2ph
17dc697cd add vcvttph2w
62f022aea vcvttph2uw
836346bfd add vcvtph2w
300edb37b add vcvtph2uw
737904b5a add vcvtuqq2ph
52b2ebf18 add vcvtqq2ph
6761f1e05 add vcvtpd2ph
03f95b7e3 add vcvtudq2ph
64430b2bb add vcvtps2phx
88e426aa4 add vcvtdq2ph
bf28a94a5 add vcvttph2uqq
4c4e665d3 add vcvtph2uqq
2b0099b63 add vcvtph2qq
3ff69a474 add vcvtph2pd
678b52956 add vcvttph2udq
72a5717e4 add vcvttph2dq
524d52bf6 add vcvtph2udq
d1cf4db97 add vcvtph2psx
fccd2c49b add vcvtph2dq
6530f4099 refactor gen-cvt
c51e16156 tweak
ed9f6c72a add vcvtsh2si
ac1407bd1 add vcvtss2sh
2958a19bb add vcvtsh2ss
10d683303 add vcvtsh2sd
3920c950c add vcvtsd2sh
9a1b73932 add vmovw
d86e4882f vmovsh xmm, addr
61f85a204 add vmovsh
847166cef add tests of vgetmant{ph,sh}
c11a21cf4 add vgetmantph
55ab361f0 add tests of vgetexp{ph,sh}
8653f4152 add vgetexpsh
697eeb627 add vgetexpph
ee920a991 add vfpclasssh
7aed436e6 add vfpclassph
56dca14e4 v5.997
b3b1e4e3c fix vrndscale* to support {sae}
681077eb1 add vrndscalesh
2f14eae85 add vrndscaleph
f96870a44 add vreducesh
043c94ae9 add vreduceph
37bf3bb49 add vscalefsh
c16f91c59 add vscalefph
61ad45935 add vsqrtsh
e00b508d5 add vsqrtph
52765d54f add vrsqrtsh
2ec6a7ab4 add vrsqrtph
b1ff7891d add vrcpph, vrcpsh
4f543ca0e add vucomish
412b95f02 add vf{,c}mulcph
9fc53baed add vf{,c}maddcph
0098ce98d add vf{,n}m{sub,add}sh
849dffb10 add vfmadd, vfnmadd, vfnmsub for avx512-fp16
eadb93d0b add vfmsubaddcph
9b8802cba add vfmaddsub{132,213,231}ph
ab9481b4c add vcomish
cd036ea17 fix vcmpsh
b494b321a vcmpsh supports ptr_b
eb2d63c83 vcmpph uses T_B16
a480b3dd9 v5.996
16d18b1d4 fix v{add,sub,mul,...}{sd,ss} to support T_rd_sae etc.
66c6ca1ab support vaddsh with T_rd_sae
6333ec099 add m16bcst
84053c8e7 add vcmpph
5df23d263 move FP16 to AVX-512
d5c7336f8 fix disp scaling of v{add,sub,mul,div,max,min}sh
ebf29542d add vaddsh test
f29689d02 add test of vaddph
2c4b6ac16 add v{add,sub,mul,div,min,max}{ph,sh}
edf3c2f6f remove mask for mmm
2c561aad6 add T_MAP5 and T_MAP6
acd360c38 add Cpu::tAVX512_FP16
1554f479c remove unused flags(tSSE4a and tSSE5) of Cpu
c313a8758 update CMakeLists.txt version
740b39e24 Merge pull request #122 from abouvier/cmake
10a1e5759 v5.995
0a557a099 rename XBYAK_MEMFD_CREATE to XBYAK_USE_MEMFD
0ad9b9bbe Merge branch 'captain5050-master' into dev
c7bb66383 fix for mac and enable it if XBYAK_MEMFD_CREATE is defined
c1e6569f1 fix cmake config files
ccd4130ec Name mmap pages on Linux with memfd_create
2fb843c32 v5.994
413a66b44 add alias of vcmpXX{ps,pd,ss,sd} for mask register
6f4f76890 v5.993
19043cb9a add test for gather/scatter
b5acb1d1c gather test does not generate bad combination of regs
67ec1674a check restriction of gather/scatter regs
ea9814f4f check bad reg combination of gather
a34850b2d add endbr32 and endbr64
git-subtree-dir: externals/xbyak
git-subtree-split: 9357732aa2aa3cf97809027596dfa5c61d1515b2
2022-06-05 13:31:49 +01:00
|
|
|
printf("%s ", tbl_[i].toString());
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
printf("\n");
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
class StackFrame {
|
|
|
|
#ifdef XBYAK64_WIN
|
|
|
|
static const int noSaveNum = 6;
|
|
|
|
static const int rcxPos = 0;
|
|
|
|
static const int rdxPos = 1;
|
|
|
|
#else
|
|
|
|
static const int noSaveNum = 8;
|
|
|
|
static const int rcxPos = 3;
|
|
|
|
static const int rdxPos = 2;
|
|
|
|
#endif
|
2020-04-22 20:59:14 +01:00
|
|
|
static const int maxRegNum = 14; // maxRegNum = 16 - rsp - rax
|
2020-04-22 20:25:57 +01:00
|
|
|
Xbyak::CodeGenerator *code_;
|
|
|
|
int pNum_;
|
|
|
|
int tNum_;
|
|
|
|
bool useRcx_;
|
|
|
|
bool useRdx_;
|
|
|
|
int saveNum_;
|
|
|
|
int P_;
|
|
|
|
bool makeEpilog_;
|
|
|
|
Xbyak::Reg64 pTbl_[4];
|
2020-04-22 20:59:14 +01:00
|
|
|
Xbyak::Reg64 tTbl_[maxRegNum];
|
2020-04-22 20:25:57 +01:00
|
|
|
Pack p_;
|
|
|
|
Pack t_;
|
|
|
|
StackFrame(const StackFrame&);
|
|
|
|
void operator=(const StackFrame&);
|
|
|
|
public:
|
|
|
|
const Pack& p;
|
|
|
|
const Pack& t;
|
|
|
|
/*
|
|
|
|
make stack frame
|
|
|
|
@param sf [in] this
|
|
|
|
@param pNum [in] num of function parameter(0 <= pNum <= 4)
|
2020-04-22 20:59:14 +01:00
|
|
|
@param tNum [in] num of temporary register(0 <= tNum, with UseRCX, UseRDX) #{pNum + tNum [+rcx] + [rdx]} <= 14
|
2020-04-22 20:25:57 +01:00
|
|
|
@param stackSizeByte [in] local stack size
|
|
|
|
@param makeEpilog [in] automatically call close() if true
|
|
|
|
|
|
|
|
you can use
|
|
|
|
rax
|
|
|
|
gp0, ..., gp(pNum - 1)
|
|
|
|
gt0, ..., gt(tNum-1)
|
|
|
|
rcx if tNum & UseRCX
|
|
|
|
rdx if tNum & UseRDX
|
|
|
|
rsp[0..stackSizeByte - 1]
|
|
|
|
*/
|
|
|
|
StackFrame(Xbyak::CodeGenerator *code, int pNum, int tNum = 0, int stackSizeByte = 0, bool makeEpilog = true)
|
|
|
|
: code_(code)
|
|
|
|
, pNum_(pNum)
|
|
|
|
, tNum_(tNum & ~(UseRCX | UseRDX))
|
|
|
|
, useRcx_((tNum & UseRCX) != 0)
|
|
|
|
, useRdx_((tNum & UseRDX) != 0)
|
|
|
|
, saveNum_(0)
|
|
|
|
, P_(0)
|
|
|
|
, makeEpilog_(makeEpilog)
|
|
|
|
, p(p_)
|
|
|
|
, t(t_)
|
|
|
|
{
|
|
|
|
using namespace Xbyak;
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
if (pNum < 0 || pNum > 4) XBYAK_THROW(ERR_BAD_PNUM)
|
2020-04-22 20:25:57 +01:00
|
|
|
const int allRegNum = pNum + tNum_ + (useRcx_ ? 1 : 0) + (useRdx_ ? 1 : 0);
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
if (tNum_ < 0 || allRegNum > maxRegNum) XBYAK_THROW(ERR_BAD_TNUM)
|
2020-04-22 20:25:57 +01:00
|
|
|
const Reg64& _rsp = code->rsp;
|
|
|
|
saveNum_ = (std::max)(0, allRegNum - noSaveNum);
|
|
|
|
const int *tbl = getOrderTbl() + noSaveNum;
|
|
|
|
for (int i = 0; i < saveNum_; i++) {
|
2020-04-22 20:59:14 +01:00
|
|
|
code->push(Reg64(tbl[i]));
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
2020-04-22 20:59:14 +01:00
|
|
|
P_ = (stackSizeByte + 7) / 8;
|
|
|
|
if (P_ > 0 && (P_ & 1) == (saveNum_ & 1)) P_++; // (rsp % 16) == 8, then increment P_ for 16 byte alignment
|
|
|
|
P_ *= 8;
|
|
|
|
if (P_ > 0) code->sub(_rsp, P_);
|
2020-04-22 20:25:57 +01:00
|
|
|
int pos = 0;
|
|
|
|
for (int i = 0; i < pNum; i++) {
|
|
|
|
pTbl_[i] = Xbyak::Reg64(getRegIdx(pos));
|
|
|
|
}
|
|
|
|
for (int i = 0; i < tNum_; i++) {
|
|
|
|
tTbl_[i] = Xbyak::Reg64(getRegIdx(pos));
|
|
|
|
}
|
|
|
|
if (useRcx_ && rcxPos < pNum) code_->mov(code_->r10, code_->rcx);
|
|
|
|
if (useRdx_ && rdxPos < pNum) code_->mov(code_->r11, code_->rdx);
|
|
|
|
p_.init(pTbl_, pNum);
|
|
|
|
t_.init(tTbl_, tNum_);
|
|
|
|
}
|
|
|
|
/*
|
|
|
|
make epilog manually
|
|
|
|
@param callRet [in] call ret() if true
|
|
|
|
*/
|
|
|
|
void close(bool callRet = true)
|
|
|
|
{
|
|
|
|
using namespace Xbyak;
|
|
|
|
const Reg64& _rsp = code_->rsp;
|
|
|
|
const int *tbl = getOrderTbl() + noSaveNum;
|
2020-04-22 20:59:14 +01:00
|
|
|
if (P_ > 0) code_->add(_rsp, P_);
|
2020-04-22 20:25:57 +01:00
|
|
|
for (int i = 0; i < saveNum_; i++) {
|
2020-04-22 20:59:14 +01:00
|
|
|
code_->pop(Reg64(tbl[saveNum_ - 1 - i]));
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
if (callRet) code_->ret();
|
|
|
|
}
|
|
|
|
~StackFrame()
|
|
|
|
{
|
|
|
|
if (!makeEpilog_) return;
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
close();
|
2020-04-22 20:25:57 +01:00
|
|
|
}
|
|
|
|
private:
|
|
|
|
const int *getOrderTbl() const
|
|
|
|
{
|
|
|
|
using namespace Xbyak;
|
|
|
|
static const int tbl[] = {
|
|
|
|
#ifdef XBYAK64_WIN
|
|
|
|
Operand::RCX, Operand::RDX, Operand::R8, Operand::R9, Operand::R10, Operand::R11, Operand::RDI, Operand::RSI,
|
|
|
|
#else
|
|
|
|
Operand::RDI, Operand::RSI, Operand::RDX, Operand::RCX, Operand::R8, Operand::R9, Operand::R10, Operand::R11,
|
|
|
|
#endif
|
|
|
|
Operand::RBX, Operand::RBP, Operand::R12, Operand::R13, Operand::R14, Operand::R15
|
|
|
|
};
|
|
|
|
return &tbl[0];
|
|
|
|
}
|
|
|
|
int getRegIdx(int& pos) const
|
|
|
|
{
|
2020-04-22 20:59:14 +01:00
|
|
|
assert(pos < maxRegNum);
|
2020-04-22 20:25:57 +01:00
|
|
|
using namespace Xbyak;
|
|
|
|
const int *tbl = getOrderTbl();
|
|
|
|
int r = tbl[pos++];
|
|
|
|
if (useRcx_) {
|
|
|
|
if (r == Operand::RCX) { return Operand::R10; }
|
|
|
|
if (r == Operand::R10) { r = tbl[pos++]; }
|
|
|
|
}
|
|
|
|
if (useRdx_) {
|
|
|
|
if (r == Operand::RDX) { return Operand::R11; }
|
|
|
|
if (r == Operand::R11) { return tbl[pos++]; }
|
|
|
|
}
|
|
|
|
return r;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
#endif
|
|
|
|
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
class Profiler {
|
|
|
|
int mode_;
|
|
|
|
const char *suffix_;
|
|
|
|
const void *startAddr_;
|
|
|
|
#ifdef XBYAK_USE_PERF
|
|
|
|
FILE *fp_;
|
|
|
|
#endif
|
|
|
|
public:
|
|
|
|
enum {
|
|
|
|
None = 0,
|
|
|
|
Perf = 1,
|
|
|
|
VTune = 2
|
|
|
|
};
|
|
|
|
Profiler()
|
|
|
|
: mode_(None)
|
|
|
|
, suffix_("")
|
|
|
|
, startAddr_(0)
|
|
|
|
#ifdef XBYAK_USE_PERF
|
|
|
|
, fp_(0)
|
|
|
|
#endif
|
|
|
|
{
|
|
|
|
}
|
|
|
|
// append suffix to funcName
|
|
|
|
void setNameSuffix(const char *suffix)
|
|
|
|
{
|
|
|
|
suffix_ = suffix;
|
|
|
|
}
|
|
|
|
void setStartAddr(const void *startAddr)
|
|
|
|
{
|
|
|
|
startAddr_ = startAddr;
|
|
|
|
}
|
|
|
|
void init(int mode)
|
|
|
|
{
|
|
|
|
mode_ = None;
|
|
|
|
switch (mode) {
|
|
|
|
default:
|
|
|
|
case None:
|
|
|
|
return;
|
|
|
|
case Perf:
|
|
|
|
#ifdef XBYAK_USE_PERF
|
|
|
|
close();
|
|
|
|
{
|
|
|
|
const int pid = getpid();
|
|
|
|
char name[128];
|
|
|
|
snprintf(name, sizeof(name), "/tmp/perf-%d.map", pid);
|
|
|
|
fp_ = fopen(name, "a+");
|
|
|
|
if (fp_ == 0) {
|
|
|
|
fprintf(stderr, "can't open %s\n", name);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
mode_ = Perf;
|
|
|
|
#endif
|
|
|
|
return;
|
|
|
|
case VTune:
|
|
|
|
#ifdef XBYAK_USE_VTUNE
|
|
|
|
dlopen("dummy", RTLD_LAZY); // force to load dlopen to enable jit profiling
|
|
|
|
if (iJIT_IsProfilingActive() != iJIT_SAMPLING_ON) {
|
|
|
|
fprintf(stderr, "VTune profiling is not active\n");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
mode_ = VTune;
|
|
|
|
#endif
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
~Profiler()
|
|
|
|
{
|
|
|
|
close();
|
|
|
|
}
|
|
|
|
void close()
|
|
|
|
{
|
|
|
|
#ifdef XBYAK_USE_PERF
|
|
|
|
if (fp_ == 0) return;
|
|
|
|
fclose(fp_);
|
|
|
|
fp_ = 0;
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
void set(const char *funcName, const void *startAddr, size_t funcSize) const
|
|
|
|
{
|
|
|
|
if (mode_ == None) return;
|
|
|
|
#if !defined(XBYAK_USE_PERF) && !defined(XBYAK_USE_VTUNE)
|
|
|
|
(void)funcName;
|
|
|
|
(void)startAddr;
|
|
|
|
(void)funcSize;
|
|
|
|
#endif
|
|
|
|
#ifdef XBYAK_USE_PERF
|
|
|
|
if (mode_ == Perf) {
|
|
|
|
if (fp_ == 0) return;
|
|
|
|
fprintf(fp_, "%llx %zx %s%s", (long long)startAddr, funcSize, funcName, suffix_);
|
|
|
|
/*
|
|
|
|
perf does not recognize the function name which is less than 3,
|
|
|
|
so append '_' at the end of the name if necessary
|
|
|
|
*/
|
|
|
|
size_t n = strlen(funcName) + strlen(suffix_);
|
|
|
|
for (size_t i = n; i < 3; i++) {
|
|
|
|
fprintf(fp_, "_");
|
|
|
|
}
|
|
|
|
fprintf(fp_, "\n");
|
|
|
|
fflush(fp_);
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#ifdef XBYAK_USE_VTUNE
|
|
|
|
if (mode_ != VTune) return;
|
|
|
|
char className[] = "";
|
|
|
|
char fileName[] = "";
|
|
|
|
iJIT_Method_Load jmethod = {};
|
|
|
|
jmethod.method_id = iJIT_GetNewMethodID();
|
|
|
|
jmethod.class_file_name = className;
|
|
|
|
jmethod.source_file_name = fileName;
|
|
|
|
jmethod.method_load_address = const_cast<void*>(startAddr);
|
|
|
|
jmethod.method_size = funcSize;
|
|
|
|
jmethod.line_number_size = 0;
|
|
|
|
char buf[128];
|
|
|
|
snprintf(buf, sizeof(buf), "%s%s", funcName, suffix_);
|
|
|
|
jmethod.method_name = buf;
|
|
|
|
iJIT_NotifyEvent(iJVM_EVENT_TYPE_METHOD_LOAD_FINISHED, (void*)&jmethod);
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
/*
|
|
|
|
for continuous set
|
|
|
|
funcSize = endAddr - <previous set endAddr>
|
|
|
|
*/
|
|
|
|
void set(const char *funcName, const void *endAddr)
|
|
|
|
{
|
|
|
|
set(funcName, startAddr_, (size_t)endAddr - (size_t)startAddr_);
|
|
|
|
startAddr_ = endAddr;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
#endif // XBYAK_ONLY_CLASS_CPU
|
|
|
|
|
2020-04-22 20:25:57 +01:00
|
|
|
} } // end of util
|
Squashed 'externals/xbyak/' changes from 73ac5866..0140eeff
0140eeff Merge branch 'dev'
1efe14b2 change the original behavior of SetError
83c89c7a rename and fix indent
8be7ca93 Merge branch 'sbogusev-master' into dev
070b4c09 make l_err() inline with block scope static TLS l_error
9a4e6579 v5.97
d0ced1bc XBYAK_ONLY_CLASS_CPU is for only util::Cpu
bb967ae7 replace uint32 with uint32_t etc.
c306b8e5 update to v5.95
605e4224 use noexcept if C++11 or later
7a17c2c8 remove warning
5dfa4462 use constexpr if c++14 or later
18c9caaa Merge branch 'densamoilov-fix-mov-interface' into dev
3966ba9d fix mov interface
be492be1 change the behavior of push((byte|word), imm) to cast imm to int8_t/int16_t
d9696b54 Merge pull request #102 from igorsafo/master
ea73267f Cpu: make getNumCores constant
ff0b10e9 Merge pull request #101 from densamoilov/use-thread_local-when-supported
0c4eafc3 use thread_local for XBYAK_TLS when supported
c1aea35e CodeGenerator::reset() calls ClearError()
b4df97b1 Merge branch 'cursey-no-winsock2-header'
6a47bb0e v5.94
9a1749e6 define WIN32_LEAN_AND_MEAN for including winsock2.h after xbyak.h
42dddb74 Remove #include <winsock2.h>
615b85fa update doc
9cd796a9 rename XBYAK_NOEXCEPTION to XBYAK_NO_EXCEPTION
7cdf227f use static to avoid multiple instance
38a28dec test_nm.bat supports noexcept
0fdffc6b XBYAK_NOEXCEPTION for -fno-exceptions
eda6e2a3 v5.92
5c26c8bb mov(rax, imm64) on 32-bit env with XBYAK64
6208e3ae throw exception if not supported amx sibmem 2
c6737d14 mov amx insts from avx512
34ea5c16 throw exception if not supported amx sibmem
6f93fe35 fix test of sizeof(Operand)
5b89c3b2 remove T_TMM
5ce32858 gen_amx.cpp is merged into gen_avx512.cpp
fe4f965f remove my alias for tmm registers
92f904d8 bit_ contains 8192
98b51da9 extend mnemonics with Intel(R) AMX ISA
8d1b4c9e add generation of Intel(R) AMX ISA mnemonics
8ded45d1 add support of Intel(R) AMX ISA
b23c4b02 v5.912
ffe32a60 Merge branch 'rsdubtso-master'
e7b7fd2f use MAP_JIT on macOS regardless of Xcode version
82b70e66 v5.911 ; XBYAK_USE_MMAP_ALLOCATOR is defined
2f6d9e34 fix test for mac
a7d10a1e add link to GitHub Sponsor
96076265 accept k0 mask register (it means no mask)
7e3167e4 kmov{b,w,d,q} throws for unsupported reg
f487d7b7 Merge pull request #91 from marcelotrevisani/patch-1
dc9e6a79 Possibility to specify a different PREFIX
5fc69fc8 remove warning of test
e69e0b42 fix typo of type of Zmi
34f797e8 perf does not recognize too short function name
6cc0f4df Consider max defined as a macro on Windows
5722393d fix for zeroed-out 0xb leaf
6a4459a8 Merge branch 'tyfkda-feature/fix-segfault-in-calc'
47922ed9 Fix segmentation fault in calc sample
8f696e93 add test_avx512 to bat
00114d79 add .travis.yml
a29fa27b refactor test
508b543c fix error of vfpclasspd
0d54f1b1 fix for windows
4da8fd4e add setDefaultJmpNEAR
da7f7317 revert to the behavior before v5.84 if -fno-operator-names is defined
7dac9f61 update to v5.85
fe639332 enable MAP_JIT only if mojave or later
4443d791 specify MAP_JIT mmap flag on macOS
20ee4c2d update doc
ca0e8395 [changed] XBYAK_NO_OP_NAMES is defined
f32836da remove exit(1)
a1e9adf2 v5.82
08b8b1ba Support AMD Zen New Instructions.
2501ba9a remove *.user and *.vcproj
5c2ea988 Merge branch 'jrmwng-feature/upgrade-to-vs2017/jrmwng'
35847f7a Merge branch 'feature/upgrade-to-vs2017/jrmwng' of https://github.com/jrmwng/xbyak into jrmwng-feature/upgrade-to-vs2017/jrmwng
ef267775 address "warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification"
4a6c59bb address a conflict of sharing intermediate directory by different projects
9577cbf3 inherit "some output locations" from parent or project defaults
6c5f7186 upgrade projects from VS2018 to VS2017
4ca0434b v5.81
72b4e95d add lds/lss/les/lfs/lgs
cc8f037c fix ; move ERR_INTERNAL to the end
9e9ec1c3 add repe, repne, repne, prez
eea0edc3 add some fpu mnemonics
06235fa6 add loop/loope/loopne
7fc0c2bb add enter/leave
9fa2ef3c add in_, out_
df208648 add lods{b,w,d,q}, outs{b,w,d}
4672d2cb add int3, int_, into
431977cb add pushfq, popfq
81c4749f syscall, sysenter, sysexit, sysret
1f1b53c4 add clflushopt, fldenv, fnstw
b765db33 Profiler uses append mode
44dc3546 add Profiler class
42949334 update version to v5.802
91cb919b Merge branch 'vpirogov-master'
a6452f82 fixed avx512_bf16 detection
f41da5aa tweak ; vcvtneps2bf16 calls opCvt2
b12460ba [sample] fix typo of quantize.cpp
b22f5881 add set_opt.bat for test on Windows
f402faad add vp2intersectd/vp2intersectq
4cfd5208 add avx512_bf16
4033564c fix vcmppd/vcmpps for ptr_b
git-subtree-dir: externals/xbyak
git-subtree-split: 0140eeff1fffcf5069dea3abb57095695320971c
2020-09-19 16:27:42 +01:00
|
|
|
|
2020-04-22 20:25:57 +01:00
|
|
|
#endif
|