1 //===- llvm/unittest/IR/IntrinsicsTest.cpp - ------------------------------===//
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 //===----------------------------------------------------------------------===//
9
10 #include "llvm/IR/IntrinsicInst.h"
11 #include "gtest/gtest.h"
12
13 using namespace llvm;
14
15 namespace {
16
17 static const char *const NameTable1[] = {
18 "llvm.foo",
19 "llvm.foo.a",
20 "llvm.foo.b",
21 "llvm.foo.b.a",
22 "llvm.foo.c",
23 };
24
TEST(IntrinNameLookup,Basic)25 TEST(IntrinNameLookup, Basic) {
26 int I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo");
27 EXPECT_EQ(0, I);
28 I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.f64");
29 EXPECT_EQ(0, I);
30 I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.b");
31 EXPECT_EQ(2, I);
32 I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.b.a");
33 EXPECT_EQ(3, I);
34 I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.c");
35 EXPECT_EQ(4, I);
36 I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.c.f64");
37 EXPECT_EQ(4, I);
38 }
39
40 } // end namespace
41