[llvm-exegesis] Improve Register Setup.
[llvm-core.git] / unittests / tools / llvm-exegesis / ARM / AssemblerTest.cpp
blobdb8b9dfc3b745d7d54eac7442582ce47bf004655
1 //===-- AssemblerTest.cpp ---------------------------------------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
10 #include "../Common/AssemblerUtils.h"
11 #include "ARMInstrInfo.h"
13 namespace exegesis {
14 namespace {
16 using llvm::MCInstBuilder;
18 class ARMMachineFunctionGeneratorTest
19 : public MachineFunctionGeneratorBaseTest {
20 protected:
21 ARMMachineFunctionGeneratorTest()
22 : MachineFunctionGeneratorBaseTest("armv7-none-linux-gnueabi", "") {}
24 static void SetUpTestCase() {
25 LLVMInitializeARMTargetInfo();
26 LLVMInitializeARMTargetMC();
27 LLVMInitializeARMTarget();
28 LLVMInitializeARMAsmPrinter();
32 TEST_F(ARMMachineFunctionGeneratorTest, DISABLED_JitFunction) {
33 Check({}, llvm::MCInst(), 0x1e, 0xff, 0x2f, 0xe1);
36 TEST_F(ARMMachineFunctionGeneratorTest, DISABLED_JitFunctionADDrr) {
37 Check({{llvm::ARM::R0, llvm::APInt()}},
38 MCInstBuilder(llvm::ARM::ADDrr)
39 .addReg(llvm::ARM::R0)
40 .addReg(llvm::ARM::R0)
41 .addReg(llvm::ARM::R0)
42 .addImm(llvm::ARMCC::AL)
43 .addReg(0)
44 .addReg(0),
45 0x00, 0x00, 0x80, 0xe0, 0x1e, 0xff, 0x2f, 0xe1);
48 } // namespace
49 } // namespace exegesis