diff options
author | iximeow <me@iximeow.net> | 2021-12-27 20:32:34 -0800 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2021-12-27 20:32:34 -0800 |
commit | f2b625ebdb0f8a17644eeda1d3fad182bf3cfb99 (patch) | |
tree | c1dbb7777b2807739945724dc3402739859ee3d8 | |
parent | 04d08fa86a39f40e7542a8337ff6c2f640f882f7 (diff) |
another form of prfm
-rw-r--r-- | src/armv8/a64.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/armv8/a64.rs b/src/armv8/a64.rs index a29c6fb..3aaa7ef 100644 --- a/src/armv8/a64.rs +++ b/src/armv8/a64.rs @@ -7513,7 +7513,7 @@ impl Decoder<ARMv8> for InstDecoder { Err(DecodeError::InvalidOpcode), Ok((Opcode::STUR, SizeCode::X)), Ok((Opcode::LDUR, SizeCode::X)), - Err(DecodeError::IncompleteDecoder), // PRFM is not supported yet + Ok((Opcode::PRFM, SizeCode::X)), Err(DecodeError::InvalidOpcode), ]; @@ -7521,7 +7521,11 @@ impl Decoder<ARMv8> for InstDecoder { inst.opcode = opcode; inst.operands = [ - Operand::Register(size, Rt), + if size_opc == 0b1110 { + Operand::PrefetchOp(Rt) + } else { + Operand::Register(size, Rt) + }, Operand::RegOffset(Rn, imm9), Operand::Nothing, Operand::Nothing, |