blob: 0d12126b1fcf2e07e34a57c49587d04c357c0fa5 [file] [log] [blame]
Reid Klecknerdc8eb982016-01-26 22:33:19 +00001//===- 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
13using namespace llvm;
14
15namespace {
16
17static 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
25TEST(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