aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs4
-rw-r--r--src/long_mode/mod.rs7
-rw-r--r--src/protected_mode/mod.rs7
-rw-r--r--src/real_mode/mod.rs7
-rw-r--r--src/shared/evex.in2
5 files changed, 18 insertions, 9 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 6850234..09b7ed8 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -165,7 +165,7 @@ pub use real_mode::Arch as x86_16;
// the pseudo-C syntax's max length would be something like:
// ```
// xacquire xrelease lock { repnz qword if /* signed */ greater_or_equal(rflags) then jmp gs:[xmm31 +
-// xmm31 * 8 + 0x12345678]{k7}{z}{rne-sae} }
+// xmm31 * 8 + 0x12345678]{k7}{z}{rn-sae} }
// ```
// (which is nonsensical) or for an unknown opcode,
// ```
@@ -173,7 +173,7 @@ pub use real_mode::Arch as x86_16;
// ```
// where `opN` is an operand. the longest operand, same as above, would be something like
// ```
-// gs:[xmm31 + xmm31 * 8 + 0x12345678]{k7}{z}{rne-sae}
+// gs:[xmm31 + xmm31 * 8 + 0x12345678]{k7}{z}{rn-sae}
// ```
// for a length like 262 bytes of operand, 55 bytes of prefixes and syntax, and another up-to-20
// bytes of opcode.
diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs
index b7daa4a..3ba76a0 100644
--- a/src/long_mode/mod.rs
+++ b/src/long_mode/mod.rs
@@ -507,14 +507,17 @@ impl SaeMode {
/// ```
/// use yaxpeax_x86::long_mode::SaeMode;
///
- /// assert_eq!(SaeMode::RoundNearest.label(), "{rne-sae}");
+ /// assert_eq!(SaeMode::RoundNearest.label(), "{rn-sae}");
/// assert_eq!(SaeMode::RoundDown.label(), "{rd-sae}");
/// assert_eq!(SaeMode::RoundUp.label(), "{ru-sae}");
/// assert_eq!(SaeMode::RoundZero.label(), "{rz-sae}");
/// ```
pub const fn label(&self) -> &'static str {
match self {
- SaeMode::RoundNearest => "{rne-sae}",
+ // in the KNL era some resources called this "rne-sae" (https://imsc.uni-graz.at/haasegu/Projects/FSP/HPC/ws_15/Intel_Open_Source_Software_Development.pdf)
+ // it seems xed retained this `rne-sae` form. zydis calls this "rn-sae".
+ // masm, nasm, gas, and everyone else wants "rn-sae". so, we'll call it "rn-sae" too.
+ SaeMode::RoundNearest => "{rn-sae}",
SaeMode::RoundDown => "{rd-sae}",
SaeMode::RoundUp => "{ru-sae}",
SaeMode::RoundZero => "{rz-sae}",
diff --git a/src/protected_mode/mod.rs b/src/protected_mode/mod.rs
index 64c1c8d..f419197 100644
--- a/src/protected_mode/mod.rs
+++ b/src/protected_mode/mod.rs
@@ -443,14 +443,17 @@ impl SaeMode {
/// ```
/// use yaxpeax_x86::protected_mode::SaeMode;
///
- /// assert_eq!(SaeMode::RoundNearest.label(), "{rne-sae}");
+ /// assert_eq!(SaeMode::RoundNearest.label(), "{rn-sae}");
/// assert_eq!(SaeMode::RoundDown.label(), "{rd-sae}");
/// assert_eq!(SaeMode::RoundUp.label(), "{ru-sae}");
/// assert_eq!(SaeMode::RoundZero.label(), "{rz-sae}");
/// ```
pub const fn label(&self) -> &'static str {
match self {
- SaeMode::RoundNearest => "{rne-sae}",
+ // in the KNL era some resources called this "rne-sae" (https://imsc.uni-graz.at/haasegu/Projects/FSP/HPC/ws_15/Intel_Open_Source_Software_Development.pdf)
+ // it seems xed retained this `rne-sae` form. zydis calls this "rn-sae".
+ // masm, nasm, gas, and everyone else wants "rn-sae". so, we'll call it "rn-sae" too.
+ SaeMode::RoundNearest => "{rn-sae}",
SaeMode::RoundDown => "{rd-sae}",
SaeMode::RoundUp => "{ru-sae}",
SaeMode::RoundZero => "{rz-sae}",
diff --git a/src/real_mode/mod.rs b/src/real_mode/mod.rs
index 3a7cbd3..716148c 100644
--- a/src/real_mode/mod.rs
+++ b/src/real_mode/mod.rs
@@ -443,14 +443,17 @@ impl SaeMode {
/// ```
/// use yaxpeax_x86::real_mode::SaeMode;
///
- /// assert_eq!(SaeMode::RoundNearest.label(), "{rne-sae}");
+ /// assert_eq!(SaeMode::RoundNearest.label(), "{rn-sae}");
/// assert_eq!(SaeMode::RoundDown.label(), "{rd-sae}");
/// assert_eq!(SaeMode::RoundUp.label(), "{ru-sae}");
/// assert_eq!(SaeMode::RoundZero.label(), "{rz-sae}");
/// ```
pub const fn label(&self) -> &'static str {
match self {
- SaeMode::RoundNearest => "{rne-sae}",
+ // in the KNL era some resources called this "rne-sae" (https://imsc.uni-graz.at/haasegu/Projects/FSP/HPC/ws_15/Intel_Open_Source_Software_Development.pdf)
+ // it seems xed retained this `rne-sae` form. zydis calls this "rn-sae".
+ // masm, nasm, gas, and everyone else wants "rn-sae". so, we'll call it "rn-sae" too.
+ SaeMode::RoundNearest => "{rn-sae}",
SaeMode::RoundDown => "{rd-sae}",
SaeMode::RoundUp => "{ru-sae}",
SaeMode::RoundZero => "{rz-sae}",
diff --git a/src/shared/evex.in b/src/shared/evex.in
index 07c82e5..e681fad 100644
--- a/src/shared/evex.in
+++ b/src/shared/evex.in
@@ -149,7 +149,7 @@ pub(crate) fn read_evex<
evex_start + 21,
evex_start + 22,
InnerDescription::Misc(match lpl {
- 0b00 => "evex.l'l is `0b00` (vector size 128 or rne-sae)",
+ 0b00 => "evex.l'l is `0b00` (vector size 128 or rn-sae)",
0b01 => "evex.l'l is `0b01` (vector size 256 or rd-sae)",
0b10 => "evex.l'l is `0b10` (vector size 512 or ru-sae)",
_ => "evex.l'l is `0b11` (vector size 512 + rz-sae)",