aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2021-12-27 20:37:51 -0800
committeriximeow <me@iximeow.net>2021-12-27 20:37:51 -0800
commit999eb2ac6950c589e8649651f9b538b85900cf39 (patch)
treeb3f1d9a3cb44d74144c46fb614d3104c1a9c16b9
parentb1d0fc26e1c4757953ef80c92c7a4e82c0d698cf (diff)
that decode arm is already handled
-rw-r--r--src/armv8/a64.rs11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/armv8/a64.rs b/src/armv8/a64.rs
index a38511d..a02be49 100644
--- a/src/armv8/a64.rs
+++ b/src/armv8/a64.rs
@@ -5806,13 +5806,10 @@ impl Decoder<ARMv8> for InstDecoder {
(SIMDSizeCode::S, ((immh & 0b0011) << 4)| immb)
}
0 => {
- if !Q {
- return Err(DecodeError::InvalidOperand);
- } else {
- // `Advanced SIMD modified immediate`
- return Err(DecodeError::IncompleteDecoder);
- }
- (SIMDSizeCode::D, ((immh & 0b0111) << 4)| immb)
+ // the +q version of this check would be `Advanced SIMD
+ // modified immediate`, checked well before we got
+ // here. so assume q is 0, error.
+ return Err(DecodeError::InvalidOperand);
}
_ => {
return Err(DecodeError::InvalidOperand);