diff options
author | Gabor Dozsa <gabor.dozsa@arm.com> | 2018-12-18 15:11:05 +0000 |
---|---|---|
committer | Giacomo Gabrielli <giacomo.gabrielli@arm.com> | 2019-07-27 20:51:31 +0000 |
commit | 5eb2137d643a373fea2c5828dd6f89002bcb8b0b (patch) | |
tree | 826239fc0d13e79cffc06b58a940ccacec5c3faf /src/arch | |
parent | 345d0a51ab62fe336c4a81eb9a3544796ffea0e0 (diff) | |
download | gem5-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')
-rw-r--r-- | src/arch/arm/isa/templates/sve_mem.isa | 14 |
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; } |