radeon/llvm: Fix isEG tablegen predicate
authorTom Stellard <thomas.stellard@amd.com>
Fri, 31 Aug 2012 14:46:56 +0000 (10:46 -0400)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 31 Aug 2012 16:54:58 +0000 (12:54 -0400)
This predicate incorrectly included SI GPUs, so some Evergreen
instructions were being emmitted on SI.

src/gallium/drivers/radeon/R600Instructions.td

index 519f384cdebc17c6402590f686d3206881528085..7e2deac8b00dbf17cf8db3d65b6943e201f117b1 100644 (file)
@@ -218,9 +218,11 @@ def isR700 : Predicate<"Subtarget.device()"
                             "->getGeneration() == AMDGPUDeviceInfo::HD4XXX &&"
                             "Subtarget.device()->getDeviceFlag()"
                             ">= OCL_DEVICE_RV710">;
-def isEG : Predicate<"Subtarget.device()"
-                            "->getGeneration() >= AMDGPUDeviceInfo::HD5XXX && "
-                            "Subtarget.device()->getDeviceFlag() != OCL_DEVICE_CAYMAN">;
+def isEG : Predicate<
+  "Subtarget.device()->getGeneration() >= AMDGPUDeviceInfo::HD5XXX && "
+  "Subtarget.device()->getGeneration() < AMDGPUDeviceInfo::HD7XXX && "
+  "Subtarget.device()->getDeviceFlag() != OCL_DEVICE_CAYMAN">;
+
 def isCayman : Predicate<"Subtarget.device()"
                             "->getDeviceFlag() == OCL_DEVICE_CAYMAN">;
 def isEGorCayman : Predicate<"Subtarget.device()"