From: Gabe Black Date: Tue, 1 Dec 2020 23:48:08 +0000 (-0800) Subject: x86: Let the pseudoInst dispatch function handle the return value. X-Git-Tag: develop-gem5-snapshot~401 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a90f583769ff28c70d2ff615816a164452b74942;p=gem5.git x86: Let the pseudoInst dispatch function handle the return value. When the result is returned to the caller from the pseudoInst dispatch function, the default behavior is to not store that value using the guestABI mechanism. In the x86 definition, I accidentally used this version but then didn't store the result manually. The fix should simply be to not return the result to the instruction definition and to let the guestABI mechanism handle everything normally. Change-Id: Ib69f266ad6314032622e5d8d69e9ff114c62657a Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38195 Reviewed-by: Daniel Gerzhoy Reviewed-by: Matt Sinclair Maintainer: Matt Sinclair Tested-by: kokoro --- diff --git a/src/arch/x86/isa/decoder/two_byte_opcodes.isa b/src/arch/x86/isa/decoder/two_byte_opcodes.isa index 2236c4f85..f70e7bd1d 100644 --- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa @@ -145,9 +145,8 @@ // instructions. //0x04: loadall_or_reset_or_hang(); 0x4: BasicOperate::gem5Op({{ - uint64_t ret; bool recognized = PseudoInst::pseudoInst( - xc->tcBase(), IMMEDIATE, ret); + xc->tcBase(), IMMEDIATE); if (!recognized) fault = std::make_shared(); }}, IsNonSpeculative);