From 0c4884a0d071dd56e6eb8f67ea6d1a5092d6830e Mon Sep 17 00:00:00 2001 From: Alex White Date: Fri, 16 Apr 2021 13:24:15 -0500 Subject: covoar/Target_aarch64: Swap QEMU taken/not taken bits This overrides the `TargetBase` behavior to allow branches to be marked correctly as either taken or not taken. Closes #4387 --- tester/covoar/Target_aarch64.cc | 11 +++++++++++ tester/covoar/Target_aarch64.h | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/tester/covoar/Target_aarch64.cc b/tester/covoar/Target_aarch64.cc index 64472d6..4d16456 100644 --- a/tester/covoar/Target_aarch64.cc +++ b/tester/covoar/Target_aarch64.cc @@ -12,6 +12,7 @@ #include +#include "qemu-traces.h" #include "Target_aarch64.h" namespace Target { @@ -90,6 +91,16 @@ namespace Target { ); } + uint8_t Target_aarch64::qemuTakenBit() + { + return TRACE_OP_BR1; + } + + uint8_t Target_aarch64::qemuNotTakenBit() + { + return TRACE_OP_BR0; + } + TargetBase *Target_aarch64_Constructor( std::string targetName ) diff --git a/tester/covoar/Target_aarch64.h b/tester/covoar/Target_aarch64.h index 26fedb6..08bd1fb 100644 --- a/tester/covoar/Target_aarch64.h +++ b/tester/covoar/Target_aarch64.h @@ -54,6 +54,12 @@ namespace Target { const char* const instruction ); + /* Documentation inherited from base class */ + uint8_t qemuTakenBit() override; + + /* Documentation inherited from base class */ + uint8_t qemuNotTakenBit() override; + private: }; -- cgit v1.2.3