================
@@ -34,6 +37,121 @@ enum GPUKind : uint8_t {
 #include "llvm/TargetParser/IntelGPUTargetParser.def"
 };
 
+/// Represents an IGCA feature set, including whether or not it is exact. The
+/// values are bitfields where the lowest bit represents exact. See IGCATarget
+/// for the packed representation.
+enum class IGCAFeatureSet : uint8_t {
+  Core = 0b000,
+  Compute = 0b010,
+  ComputeExact = 0b011,
+  Render = 0b100,
+  RenderExact = 0b101,
+};
+
+/// Wrapper around an IGCA target's uint32_t representation, packed using the
+/// following format:
+///
+///    31              16 15                     3 2             0
+///   +------------------+------------------------+---------------+
+///   |      Target      |        Reserved        |  Feature set  |
+///   +------------------+------------------------+---------------+
+///          16 bits              13 bits              3 bits
----------------
tahonermann wrote:

Ok, no, that's fine then. I just assumed this was copied from elsewhere.

https://github.com/llvm/llvm-project/pull/227468
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to