summaryrefslogtreecommitdiff
path: root/src/arch/arm
diff options
context:
space:
mode:
authorGabor Dozsa <gabor.dozsa@arm.com>2018-12-18 15:11:05 +0000
committerGiacomo Gabrielli <giacomo.gabrielli@arm.com>2019-07-27 20:51:31 +0000
commit5eb2137d643a373fea2c5828dd6f89002bcb8b0b (patch)
tree826239fc0d13e79cffc06b58a940ccacec5c3faf /src/arch/arm
parent345d0a51ab62fe336c4a81eb9a3544796ffea0e0 (diff)
downloadgem5-5eb2137d643a373fea2c5828dd6f89002bcb8b0b.tar.xz
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 <gabor.dozsa@arm.com> Reviewed-by: Giacomo Gabrielli <giacomo.gabrielli@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19171 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/arch/arm')
-rw-r--r--src/arch/arm/isa/templates/sve_mem.isa14
1 files 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;
}