xref: /aosp_15_r20/external/llvm/unittests/IR/IntrinsicsTest.cpp (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker //===- llvm/unittest/IR/IntrinsicsTest.cpp - ------------------------------===//
2*9880d681SAndroid Build Coastguard Worker //
3*9880d681SAndroid Build Coastguard Worker //                     The LLVM Compiler Infrastructure
4*9880d681SAndroid Build Coastguard Worker //
5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source
6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details.
7*9880d681SAndroid Build Coastguard Worker //
8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
9*9880d681SAndroid Build Coastguard Worker 
10*9880d681SAndroid Build Coastguard Worker #include "llvm/IR/IntrinsicInst.h"
11*9880d681SAndroid Build Coastguard Worker #include "gtest/gtest.h"
12*9880d681SAndroid Build Coastguard Worker 
13*9880d681SAndroid Build Coastguard Worker using namespace llvm;
14*9880d681SAndroid Build Coastguard Worker 
15*9880d681SAndroid Build Coastguard Worker namespace {
16*9880d681SAndroid Build Coastguard Worker 
17*9880d681SAndroid Build Coastguard Worker static const char *const NameTable1[] = {
18*9880d681SAndroid Build Coastguard Worker   "llvm.foo",
19*9880d681SAndroid Build Coastguard Worker   "llvm.foo.a",
20*9880d681SAndroid Build Coastguard Worker   "llvm.foo.b",
21*9880d681SAndroid Build Coastguard Worker   "llvm.foo.b.a",
22*9880d681SAndroid Build Coastguard Worker   "llvm.foo.c",
23*9880d681SAndroid Build Coastguard Worker };
24*9880d681SAndroid Build Coastguard Worker 
TEST(IntrinNameLookup,Basic)25*9880d681SAndroid Build Coastguard Worker TEST(IntrinNameLookup, Basic) {
26*9880d681SAndroid Build Coastguard Worker   int I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo");
27*9880d681SAndroid Build Coastguard Worker   EXPECT_EQ(0, I);
28*9880d681SAndroid Build Coastguard Worker   I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.f64");
29*9880d681SAndroid Build Coastguard Worker   EXPECT_EQ(0, I);
30*9880d681SAndroid Build Coastguard Worker   I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.b");
31*9880d681SAndroid Build Coastguard Worker   EXPECT_EQ(2, I);
32*9880d681SAndroid Build Coastguard Worker   I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.b.a");
33*9880d681SAndroid Build Coastguard Worker   EXPECT_EQ(3, I);
34*9880d681SAndroid Build Coastguard Worker   I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.c");
35*9880d681SAndroid Build Coastguard Worker   EXPECT_EQ(4, I);
36*9880d681SAndroid Build Coastguard Worker   I = Intrinsic::lookupLLVMIntrinsicByName(NameTable1, "llvm.foo.c.f64");
37*9880d681SAndroid Build Coastguard Worker   EXPECT_EQ(4, I);
38*9880d681SAndroid Build Coastguard Worker }
39*9880d681SAndroid Build Coastguard Worker 
40*9880d681SAndroid Build Coastguard Worker } // end namespace
41