diff options
Diffstat (limited to 'llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp')
-rw-r--r-- | llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp b/llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp index 0e4a3fb8f17..d020d4cf309 100644 --- a/llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp +++ b/llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp @@ -103,11 +103,22 @@ TEST_F(LatencySnippetGeneratorTest, DependencyThroughOtherOpcode) { const unsigned Opcode = llvm::X86::CMP64rr; auto Conf = checkAndGetConfiguration(Opcode); - EXPECT_THAT(Conf.Info, testing::HasSubstr("cycle through CMOVLE16rr")); + EXPECT_THAT(Conf.Info, testing::HasSubstr("cycle through")); ASSERT_THAT(Conf.Snippet, testing::SizeIs(2)); + const llvm::MCInst Instr = Conf.Snippet[0]; + EXPECT_THAT(Instr.getOpcode(), Opcode); // TODO: check that the two instructions alias each other. } +TEST_F(LatencySnippetGeneratorTest, LAHF) { + const unsigned Opcode = llvm::X86::LAHF; + auto Conf = checkAndGetConfiguration(Opcode); + EXPECT_THAT(Conf.Info, testing::HasSubstr("cycle through")); + ASSERT_THAT(Conf.Snippet, testing::SizeIs(2)); + const llvm::MCInst Instr = Conf.Snippet[0]; + EXPECT_THAT(Instr.getOpcode(), Opcode); +} + class UopsSnippetGeneratorTest : public X86SnippetGeneratorTest { protected: UopsSnippetGeneratorTest() : Runner(State) {} |