From a07098315bea8b880688831f931bc5213ebb6a5f Mon Sep 17 00:00:00 2001 From: iximeow Date: Fri, 13 Aug 2021 23:44:28 -0700 Subject: extend annotation reporting to 32- and 16-bit modes, kinda --- src/shared/evex.in | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/shared/evex.in') diff --git a/src/shared/evex.in b/src/shared/evex.in index 8a1e4eb..2f1cbe5 100644 --- a/src/shared/evex.in +++ b/src/shared/evex.in @@ -1,11 +1,17 @@ use super::OperandSpec; +use super::FieldDescription; + +use yaxpeax_arch::DescriptionSink; // `evex_byte_one` is an option because the caller *may* have already read it, // but may have not. `long_mode` can decide immediately that `0x62` should be read // as an `EVEX` instruction, but for other modes we can only make this // determination when reading a `bound`'s `modrm` byte. #[inline(never)] -pub(crate) fn read_evex::Address, ::Word>>(words: &mut T, instruction: &mut Instruction, evex_byte_one: Option) -> Result<(), DecodeError> { +pub(crate) fn read_evex< + T: Reader<::Address, ::Word>, + S: DescriptionSink, +>(words: &mut T, instruction: &mut Instruction, evex_byte_one: Option, sink: &mut S) -> Result<(), DecodeError> { let evex_byte_one = if let Some(b) = evex_byte_one { b } else { -- cgit v1.1