1//===- unittests/Basic/OffloadArchTest.cpp - Test OffloadArch -------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "clang/Basic/OffloadArch.h"
10#include "gtest/gtest.h"
11
12using namespace clang;
13
14TEST(OffloadArchTest, basic) {
15 EXPECT_TRUE(IsNVIDIAOffloadArch(OffloadArch::SM_20));
16 EXPECT_TRUE(IsNVIDIAOffloadArch(OffloadArch::SM_120a));
17 EXPECT_FALSE(IsNVIDIAOffloadArch(OffloadArch::GFX600));
18
19 EXPECT_FALSE(IsAMDOffloadArch(OffloadArch::SM_120a));
20 EXPECT_TRUE(IsAMDOffloadArch(OffloadArch::GFX600));
21 EXPECT_TRUE(IsAMDOffloadArch(OffloadArch::GFX1201));
22 EXPECT_TRUE(IsAMDOffloadArch(OffloadArch::GFX12_GENERIC));
23 EXPECT_TRUE(IsAMDOffloadArch(OffloadArch::AMDGCNSPIRV));
24 EXPECT_FALSE(IsAMDOffloadArch(OffloadArch::GRANITERAPIDS));
25
26 EXPECT_TRUE(IsIntelOffloadArch(OffloadArch::GRANITERAPIDS));
27 EXPECT_TRUE(IsIntelCPUOffloadArch(OffloadArch::GRANITERAPIDS));
28 EXPECT_FALSE(IsIntelGPUOffloadArch(OffloadArch::GRANITERAPIDS));
29 EXPECT_TRUE(IsIntelOffloadArch(OffloadArch::BMG_G21));
30 EXPECT_FALSE(IsIntelCPUOffloadArch(OffloadArch::BMG_G21));
31 EXPECT_TRUE(IsIntelGPUOffloadArch(OffloadArch::BMG_G21));
32
33 EXPECT_FALSE(IsNVIDIAOffloadArch(OffloadArch::Generic));
34 EXPECT_FALSE(IsAMDOffloadArch(OffloadArch::Generic));
35 EXPECT_FALSE(IsIntelOffloadArch(OffloadArch::Generic));
36}
37

source code of clang/unittests/Basic/OffloadArchTest.cpp