blob: 7d1f2e4804ed40fe77dbb5abdea6c134c5d00f9e [file] [log] [blame]
John Brawnc4ed6002018-07-03 10:10:29 +00001#include "Target.h"
2
3#include <cassert>
4#include <memory>
5
6#include "MCTargetDesc/AArch64MCTargetDesc.h"
7#include "gmock/gmock.h"
8#include "gtest/gtest.h"
9
10namespace exegesis {
11
12void InitializeAArch64ExegesisTarget();
13
14namespace {
15
16using testing::Gt;
17using testing::NotNull;
18using testing::SizeIs;
19
20class AArch64TargetTest : public ::testing::Test {
21protected:
22 AArch64TargetTest()
23 : Target_(ExegesisTarget::lookup(llvm::Triple("aarch64-unknown-linux"))) {
24 EXPECT_THAT(Target_, NotNull());
25 }
26 static void SetUpTestCase() { InitializeAArch64ExegesisTarget(); }
27
28 const ExegesisTarget *const Target_;
29};
30
31TEST_F(AArch64TargetTest, SetRegToConstant) {
32 // The AArch64 target currently doesn't know how to set register values
33 const auto Insts = Target_->setRegToConstant(llvm::AArch64::X0);
34 EXPECT_THAT(Insts, SizeIs(0));
35}
36
37} // namespace
38} // namespace exegesis