@@ -200,7 +200,18 @@ std::pair<const Isa*, const Isa*> Isa::supportedIsas() {
200200 {" gfx90c" , nullptr , true , true , 9 , 0 , 12 , NONE, ANY, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
201201 {" gfx90c:xnack-" , " gfx90c" , true , true , 9 , 0 , 12 , NONE, OFF, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
202202 {" gfx90c:xnack+" , " gfx90d" , true , true , 9 , 0 , 12 , NONE, ON, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
203- {" gfx9-generic" , nullptr , true , true , 9 , 0 , 0 , NONE, ON, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
203+ {" gfx9-generic" , nullptr , true , true , 9 , 0 , 0 , NONE, ANY, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
204+ {" gfx9-generic:xnack-" , nullptr , true , true , 9 , 0 , 0 , NONE, OFF, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
205+ {" gfx9-generic:xnack+" , nullptr , true , true , 9 , 0 , 0 , NONE, ON, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
206+ {" gfx9-4-generic" , nullptr , true , true , 9 , 4 , 0 , ANY, ANY, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
207+ {" gfx9-4-generic:sramecc-" ,nullptr , true , true , 9 , 4 , 0 , OFF, ANY, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
208+ {" gfx9-4-generic:sramecc+" ,nullptr , true , true , 9 , 4 , 0 , ON, ANY, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
209+ {" gfx9-4-generic:xnack-" , nullptr , true , true , 9 , 4 , 0 , ANY, OFF, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
210+ {" gfx9-4-generic:xnack+" , nullptr , true , true , 9 , 4 , 0 , ANY, ON, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
211+ {" gfx9-4-generic:sramecc-:xnack-" ,nullptr ,true ,true , 9 , 4 , 0 , OFF, OFF, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
212+ {" gfx9-4-generic:sramecc-:xnack+" ,nullptr ,true ,true , 9 , 4 , 0 , OFF, ON, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
213+ {" gfx9-4-generic:sramecc+:xnack-" ,nullptr ,true ,true , 9 , 4 , 0 , ON, OFF, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
214+ {" gfx9-4-generic:sramecc+:xnack+" ,nullptr ,true ,true , 9 , 4 , 0 , ON, ON, 4 , 16 , 1 , 256 , 64 * Ki, 32 },
204215 {" gfx1010" , " gfx1010" , true , true , 10 , 1 , 0 , NONE, ANY, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
205216 {" gfx1010:xnack-" , " gfx1010" , true , true , 10 , 1 , 0 , NONE, OFF, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
206217 {" gfx1010:xnack+" , nullptr , true , true , 10 , 1 , 0 , NONE, ON, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
@@ -213,7 +224,9 @@ std::pair<const Isa*, const Isa*> Isa::supportedIsas() {
213224 {" gfx1013" , " gfx1013" , true , false , 10 , 1 , 3 , NONE, ANY, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
214225 {" gfx1013:xnack-" , " gfx1013" , true , false , 10 , 1 , 3 , NONE, OFF, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
215226 {" gfx1013:xnack+" , nullptr , true , false , 10 , 1 , 3 , NONE, ON, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
216- {" gfx10-1-generic" , nullptr , true , true , 10 , 1 , 0 , NONE, ON, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
227+ {" gfx10-1-generic" , nullptr , true , true , 10 , 1 , 0 , NONE, ANY, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
228+ {" gfx10-1-generic:xnack-" , nullptr , true , true , 10 , 1 , 0 , NONE, OFF, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
229+ {" gfx10-1-generic:xnack+" , nullptr , true , true , 10 , 1 , 0 , NONE, ON, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
217230 {" gfx1030" , " gfx1030" , true , true , 10 , 3 , 0 , NONE, NONE, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
218231 {" gfx1031" , " gfx1031" , true , true , 10 , 3 , 1 , NONE, NONE, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
219232 {" gfx1032" , " gfx1032" , true , true , 10 , 3 , 2 , NONE, NONE, 2 , 32 , 1 , 256 , 64 * Ki, 32 },
@@ -252,8 +265,11 @@ bool Isa::isCompatible(const Isa &codeObjectIsa, const Isa &agentIsa) {
252265 if (codeObjectIsa.versionMajor () != agentIsa.versionMajor () ||
253266 codeObjectIsa.versionMinor () > agentIsa.versionMinor () ||
254267 (codeObjectIsa.versionMinor () == agentIsa.versionMinor () &&
255- codeObjectIsa.versionStepping () > agentIsa.versionStepping ()))
268+ codeObjectIsa.versionStepping () > agentIsa.versionStepping ())) {
256269 return false ;
270+ }
271+ #ifdef DEBUG
272+ // Only check in DEBUG mode
257273 if (std::strstr (agentIsa.targetId (), " gfx906" ) != nullptr ) {
258274 // For the generic target of gfx906, codeObjectIsa.isSrameccSupported() == false while
259275 // agentIsa.isSrameccSupported() = true
@@ -263,6 +279,7 @@ bool Isa::isCompatible(const Isa &codeObjectIsa, const Isa &agentIsa) {
263279 assert (codeObjectIsa.isSrameccSupported () == agentIsa.isSrameccSupported () &&
264280 agentIsa.sramecc () != Feature::Any);
265281 }
282+ #endif
266283 } else {
267284 if (codeObjectIsa.versionMajor () != agentIsa.versionMajor () ||
268285 codeObjectIsa.versionMinor () != agentIsa.versionMinor () ||
0 commit comments