37 lines · cpp
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-exception6//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