@@ -62,6 +62,7 @@ void GenXSubtarget::initSubtargetFeatures(StringRef CPU, StringRef FS) {
6262 .Case (" XeHPG" , XeHPG)
6363 .Case (" XeLPG" , XeLPG)
6464 .Case (" XeHPC" , XeHPC)
65+ .Case (" XeHPCVG" , XeHPCVG)
6566 .Default (Invalid);
6667
6768 std::string CPUName (CPU);
@@ -97,8 +98,8 @@ uint32_t GenXSubtarget::getMaxThreadsNumPerSubDevice() const {
9798 case XeHP:
9899 case XeHPG:
99100 case XeLPG:
100- return 1 << 12 ;
101101 case XeHPC:
102+ case XeHPCVG:
102103 return 1 << 12 ;
103104 }
104105 return 0 ;
@@ -121,7 +122,8 @@ ArrayRef<std::pair<int, int>> GenXSubtarget::getThreadIdReservedBits() const {
121122 static const std::pair<int , int > Bits[] = {{6 , 1 }, {3 , 1 }};
122123 return Bits;
123124 }
124- case GenXSubtarget::XeHPC: {
125+ case GenXSubtarget::XeHPC:
126+ case GenXSubtarget::XeHPCVG: {
125127 // [14:12] Slice ID.
126128 // [11:9] SubSlice ID
127129 // [8] : EUID[2]
@@ -156,7 +158,8 @@ ArrayRef<std::pair<int, int>> GenXSubtarget::getSubsliceIdBits() const {
156158 static const std::pair<int , int > Bits[] = {{8 , 6 }};
157159 return Bits;
158160 }
159- case GenXSubtarget::XeHPC: {
161+ case GenXSubtarget::XeHPC:
162+ case GenXSubtarget::XeHPCVG: {
160163 // [14:12] Slice ID.
161164 // [11:9] SubSlice ID
162165 static const std::pair<int , int > Bits[] = {{9 , 6 }};
@@ -178,7 +181,8 @@ ArrayRef<std::pair<int, int>> GenXSubtarget::getEUIdBits() const {
178181 static const std::pair<int , int > Bits[] = {{4 , 2 }, {7 , 1 }};
179182 return Bits;
180183 }
181- case GenXSubtarget::XeHPC: {
184+ case GenXSubtarget::XeHPC:
185+ case GenXSubtarget::XeHPCVG: {
182186 // [8] : EUID[2]
183187 // [7:6] : Reserved
184188 // [5:4] EUID[1:0]
@@ -220,6 +224,8 @@ TARGET_PLATFORM GenXSubtarget::getVisaPlatform() const {
220224 case XeHPC:
221225 if (!partialI64Emulation ())
222226 return TARGET_PLATFORM::Xe_PVC;
227+ LLVM_FALLTHROUGH;
228+ case XeHPCVG:
223229 return TARGET_PLATFORM::Xe_PVCXT;
224230 default :
225231 return TARGET_PLATFORM::GENX_NONE;
0 commit comments