aboutsummaryrefslogtreecommitdiff
path: root/src/long_mode/uarch.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2026-02-19 02:14:57 +0000
committeriximeow <me@iximeow.net>2026-05-25 04:31:49 +0000
commit87dc48adcce4e80aa98a2867edacc023579fc4c4 (patch)
tree940bf543d76b8d294f3d2abb792fb0ff6fa7e296 /src/long_mode/uarch.rs
parent0ec3011a3d04de741be642e4d36e826174657fdc (diff)
add behavior information for x86_64 instructions
this is a squash of a few months' hacking, including but not limited to what eventually got extracted into https://git.iximeow.net/asmlinator/about/ the path here is generally not historically interesting, and the vast majority of this diff is very particular static data tables (BehaviorDigests and implicit operand lists) `src/long_mode/behavior.rs` will more or less be directly adapted into versions for x86-32 and x86-16, similar to the instruction decoders.
Diffstat (limited to 'src/long_mode/uarch.rs')
-rw-r--r--src/long_mode/uarch.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/long_mode/uarch.rs b/src/long_mode/uarch.rs
index 9cfc9de..98c9de2 100644
--- a/src/long_mode/uarch.rs
+++ b/src/long_mode/uarch.rs
@@ -182,7 +182,7 @@ pub mod amd {
.with_avx512_vl()
.with_avx512_bw()
.with_avx512_cd()
- .with_avx512_cd()
+ .with_avx512_vl()
.with_avx512_vbmi()
.with_avx512_vbmi2()
.with_avx512_vpopcntdq()
@@ -195,6 +195,16 @@ pub mod amd {
zen4()
.with_movdir64b()
.with_enqcmd()
+ .with_avx512_dq()
+ .with_avx512_fma()
+ .with_avx512_bw()
+ .with_avx512_vnni()
+ .with_avx512_bitalg()
+ /*
+ * one would imagine the following as well, but there are not features yet:
+ * .with_avx512_vpopcntdq()
+ * .with_avx512_bf16()
+ */
}
}