aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);