radeon/llvm: Fix Evergreen/Cayman tablegen predicates
authorTom Stellard <thomas.stellard@amd.com>
Fri, 11 May 2012 13:31:00 +0000 (09:31 -0400)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 11 May 2012 13:43:47 +0000 (09:43 -0400)
Some Evergreen/Cayman instructions were being enabled for SI.

src/gallium/drivers/radeon/R600Instructions.td

index a18240f09bd6b7b4e30f53a1913c566a677b313b..9b59171de436adfee68b84159eb9023837acc121 100644 (file)
@@ -227,7 +227,9 @@ def isEG : Predicate<"Subtarget.device()"
 def isCayman : Predicate<"Subtarget.device()"
                             "->getDeviceFlag() == OCL_DEVICE_CAYMAN">;
 def isEGorCayman : Predicate<"Subtarget.device()"
-                            "->getGeneration() >= AMDILDeviceInfo::HD5XXX">;
+                            "->getGeneration() == AMDILDeviceInfo::HD5XXX"
+                           "|| Subtarget.device()->getGeneration() =="
+                           "AMDILDeviceInfo::HD6XXX">;
 
 def isR600toCayman : Predicate<
                      "Subtarget.device()->getGeneration() <= AMDILDeviceInfo::HD6XXX">;