aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/armv8/a64.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/armv8/a64.rs b/src/armv8/a64.rs
index abe0cae..b698f6c 100644
--- a/src/armv8/a64.rs
+++ b/src/armv8/a64.rs
@@ -4138,11 +4138,11 @@ impl Decoder<ARMv8> for InstDecoder {
}
}
} else {
- if op3 & 0b000100001 == 0b000000001 && op0 & 0b1011 == 0b0010 {
+ if op3 & 0b000100001 == 0b000000000 && op0 & 0b1011 == 0b0010 {
// `Advanced SIMD extract`
let Rd = (word >> 0) & 0b11111;
- let Rn = (word >> 6) & 0b11111;
- let imm4 = (word >> 11) & 0b111;
+ let Rn = (word >> 5) & 0b11111;
+ let imm4 = (word >> 11) & 0b1111;
let Rm = (word >> 16) & 0b11111;
let op2 = (word >> 22) & 0b11;
let Q = (word >> 30) & 1 == 1;