From a90f583769ff28c70d2ff615816a164452b74942 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 1 Dec 2020 15:48:08 -0800 Subject: [PATCH] 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 --- src/arch/x86/isa/decoder/two_byte_opcodes.isa | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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); -- 2.30.2