================ @@ -0,0 +1,60 @@ +//===-- IntelGPUTargetParser - Parser for Intel GPU targets ----*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file implements a target parser for the Intel GPU list. +// +//===----------------------------------------------------------------------===// + +#include "llvm/TargetParser/IntelGPUTargetParser.h" +#include "llvm/ADT/Twine.h" + +using namespace llvm; +using namespace IntelGPU; + +// A GMDID packs the architecture, release and revision of the GPU IP. +static constexpr uint32_t GMDIDArchitectureShift = 22; +static constexpr uint32_t GMDIDReleaseShift = 14; +static constexpr uint32_t GMDIDReleaseMask = 0xff; +static constexpr uint32_t GMDIDRevisionMask = 0x3f; + +GMDID llvm::IntelGPU::decodeGMDID(uint32_t IPVersion) { + return {IPVersion >> GMDIDArchitectureShift, + (IPVersion >> GMDIDReleaseShift) & GMDIDReleaseMask, + IPVersion & GMDIDRevisionMask}; ---------------- KornevNikita wrote:
cde1dcac57babc6c86443e757d485e407d0769a8 https://github.com/llvm/llvm-project/pull/222072 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
