Review comments;

This commit is contained in:
Benjamin Bouvier
2020-06-11 18:46:46 +02:00
parent 28c40ba0f7
commit 357fb11f46
2 changed files with 126 additions and 112 deletions

View File

@@ -216,6 +216,8 @@ pub enum SseOpcode {
Addsd,
Comiss,
Comisd,
Cmpss,
Cmpsd,
Cvtsd2ss,
Cvtsd2si,
Cvtsi2ss,
@@ -226,6 +228,7 @@ pub enum SseOpcode {
Cvttsd2si,
Divss,
Divsd,
Insertps,
Maxss,
Maxsd,
Minss,
@@ -265,7 +268,8 @@ impl SseOpcode {
| SseOpcode::Subss
| SseOpcode::Ucomiss
| SseOpcode::Sqrtss
| SseOpcode::Comiss => SSE,
| SseOpcode::Comiss
| SseOpcode::Cmpss => SSE,
SseOpcode::Addsd
| SseOpcode::Cvtsd2ss
@@ -281,9 +285,10 @@ impl SseOpcode {
| SseOpcode::Sqrtsd
| SseOpcode::Subsd
| SseOpcode::Ucomisd
| SseOpcode::Comisd => SSE2,
| SseOpcode::Comisd
| SseOpcode::Cmpsd => SSE2,
SseOpcode::Roundss | SseOpcode::Roundsd => SSE41,
SseOpcode::Insertps | SseOpcode::Roundss | SseOpcode::Roundsd => SSE41,
}
}
@@ -333,6 +338,9 @@ impl fmt::Debug for SseOpcode {
SseOpcode::Subsd => "subsd",
SseOpcode::Ucomiss => "ucomiss",
SseOpcode::Ucomisd => "ucomisd",
SseOpcode::Cmpss => "cmpss",
SseOpcode::Cmpsd => "cmpsd",
SseOpcode::Insertps => "insertps",
};
write!(fmt, "{}", name)
}
@@ -344,26 +352,6 @@ impl ToString for SseOpcode {
}
}
/// Some SSE operations requiring 3 operands i, r/m, and r.
#[derive(Clone, PartialEq)]
pub enum SseRmiOpcode {
Cmpss,
Cmpsd,
Insertps,
}
impl SseRmiOpcode {
/// Which `InstructionSet` is the first supporting this opcode?
pub(crate) fn available_from(&self) -> InstructionSet {
use InstructionSet::*;
match self {
SseRmiOpcode::Cmpss => SSE,
SseRmiOpcode::Cmpsd => SSE2,
SseRmiOpcode::Insertps => SSE41,
}
}
}
/// These indicate ways of extending (widening) a value, using the Intel
/// naming: B(yte) = u8, W(ord) = u16, L(ong)word = u32, Q(uad)word = u64
#[derive(Clone, PartialEq)]