From 5eb2137d643a373fea2c5828dd6f89002bcb8b0b Mon Sep 17 00:00:00 2001 From: Gabor Dozsa Date: Tue, 18 Dec 2018 15:11:05 +0000 Subject: [PATCH] arch-arm: Fix tracing code for SVE gather Printing the entire contents of the dest vecreg for each gather microop is suboptimal as it creates false positive differences between Atomic and O3 traces. This fix prints only the memory data which a microop loads from memory. Change-Id: Idd8e0b26a96f9c9cc0b69360174bedf6a9f6dcb5 Signed-off-by: Gabor Dozsa Reviewed-by: Giacomo Gabrielli Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19171 Reviewed-by: Andreas Sandberg Maintainer: Andreas Sandberg Tested-by: kokoro --- src/arch/arm/isa/templates/sve_mem.isa | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/arch/arm/isa/templates/sve_mem.isa b/src/arch/arm/isa/templates/sve_mem.isa index dced5f4a5..3085eca6d 100644 --- a/src/arch/arm/isa/templates/sve_mem.isa +++ b/src/arch/arm/isa/templates/sve_mem.isa @@ -1,4 +1,4 @@ -// Copyright (c) 2017-2018 ARM Limited +// Copyright (c) 2017-2019 ARM Limited // All rights reserved // // The license below extends only to copyright in the software and shall @@ -560,7 +560,9 @@ def template SveGatherLoadMicroopExecute {{ if (fault == NoFault) { %(fault_status_reset_code)s; %(memacc_code)s; - %(op_wb)s; + if (traceData) { + traceData->setData(memData); + } } else { %(fault_status_set_code)s; if (firstFault) { @@ -572,7 +574,9 @@ def template SveGatherLoadMicroopExecute {{ fault = NoFault; memData = 0; %(memacc_code)s; - %(op_wb)s; + if (traceData) { + traceData->setData(memData); + } } } } @@ -638,7 +642,9 @@ def template SveGatherLoadMicroopCompleteAcc {{ } %(memacc_code)s; - %(op_wb)s; + if (traceData) { + traceData->setData(memData); + } return NoFault; } -- 2.30.2